llvm-6502/lib
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
..
Analysis Use TopTTI->getGEPCost from within getUserCost 2014-04-01 18:50:06 +00:00
AsmParser
Bitcode All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
CodeGen ARM64: handle v1i1 types arising from setcc properly. 2014-04-04 14:49:21 +00:00
DebugInfo
ExecutionEngine Remove section_rel_empty. Just compare begin() and end() instead. 2014-04-03 22:42:22 +00:00
IR ARM: update subtarget information for Windows on ARM 2014-04-02 20:32:05 +00:00
IRReader
LineEditor
Linker
LTO Revert "Reapply "LTO: add API to set strategy for -internalize"" 2014-04-02 22:05:57 +00:00
MC Implement getRelocationAddress for MachO and ET_REL elf files. 2014-04-03 23:54:35 +00:00
Object Add an assert that this is only used with .o files. 2014-04-04 00:31:12 +00:00
Option
ProfileData
Support Support: generalise object type handling for Windows 2014-03-31 16:34:41 +00:00
TableGen tblgen: Twinify PrintFatalError. 2014-03-29 17:17:15 +00:00
Target ARM64: handle v1i1 types arising from setcc properly. 2014-04-04 14:49:21 +00:00
Transforms Fix PR19270 - type mismatch caused by invalid optimization. 2014-04-03 17:51:58 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile