llvm-6502/lib/Target/AArch64
Tim Northover 4a4d62bfb9 ARM64: handle v1i1 types arising from setcc properly.
There were several overlapping problems here, and this solution is
closely inspired by the one adopted in AArch64 in r201381.

Firstly, scalarisation of v1i1 setcc operations simply fails if the
input types are legal. This is fixed in LegalizeVectorTypes.cpp this
time, and allows AArch64 code to be simplified slightly.

Second, vselect with such a setcc feeding into it ends up in
ScalarizeVectorOperand, where it's not handled. I experimented with an
implementation, but found that whatever DAG came out was rather
horrific. I think Hao's DAG combine approach is a good one for
quality, though there are edge cases it won't catch (to be fixed
separately).

Should fix PR19335.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205625 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-04 14:49:21 +00:00
..
AsmParser PR18929: 2014-03-30 17:09:54 +00:00
Disassembler
InstPrinter
MCTargetDesc Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
TargetInfo
Utils
AArch64.h
AArch64.td
AArch64AsmPrinter.cpp
AArch64AsmPrinter.h
AArch64BranchFixupPass.cpp
AArch64CallingConv.td
AArch64FrameLowering.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
AArch64FrameLowering.h
AArch64InstrFormats.td
AArch64InstrInfo.cpp
AArch64InstrInfo.h
AArch64InstrInfo.td [AArch64] Add SchedRW lists to NEON instructions. 2014-03-21 19:34:41 +00:00
AArch64InstrNEON.td [AArch64] Add SchedRW lists to NEON instructions. 2014-03-21 19:34:41 +00:00
AArch64ISelDAGToDAG.cpp
AArch64ISelLowering.cpp ARM64: handle v1i1 types arising from setcc properly. 2014-04-04 14:49:21 +00:00
AArch64ISelLowering.h [AArch64] Lower SHL_PARTS, SRA_PARTS and SRL_PARTS 2014-03-27 16:28:09 +00:00
AArch64MachineFunctionInfo.cpp
AArch64MachineFunctionInfo.h
AArch64MCInstLower.cpp
AArch64RegisterInfo.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
AArch64RegisterInfo.h Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
AArch64RegisterInfo.td
AArch64Schedule.td [AArch64] Add SchedRW lists to NEON instructions. 2014-03-21 19:34:41 +00:00
AArch64ScheduleA53.td [AArch64] Add SchedRW lists to NEON instructions. 2014-03-21 19:34:41 +00:00
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64Subtarget.cpp
AArch64Subtarget.h
AArch64TargetMachine.cpp
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile
README.txt

This file will contain changes that need to be made before AArch64 can become an
officially supported target. Currently a placeholder.