llvm-6502/lib
Ahmed Bougacha df08543f48 [AArch64] Use intermediate step for concat_vectors of illegal truncs.
Optimize concat_vectors of truncated vectors, where the intermediate
type is illegal, to avoid said illegality,  e.g.,
  (v4i16 (concat_vectors (v2i16 (truncate (v2i64))),
                         (v2i16 (truncate (v2i64)))))
->
  (v4i16 (truncate (v4i32 (concat_vectors (v2i32 (truncate (v2i64))),
                                          (v2i32 (truncate (v2i64)))))))

This isn't really target-specific, and, as such, would best go in the
DAGCombiner.  However, ISD::TRUNCATE legality isn't keyed on both input
and result type, so we might generate worse code when we don't know
better.  On AArch64 we know it's fine for v2i64->v4i16 and v4i32->v8i8.
rdar://20022387


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232459 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-17 03:23:09 +00:00
..
Analysis Fix doxygen comments from r232268 2015-03-16 17:49:03 +00:00
AsmParser AsmParser: Stop requiring 'name:' when it's not printed 2015-03-16 19:01:54 +00:00
Bitcode AsmWriter: Assert on unresolved metadata nodes 2015-03-17 00:16:35 +00:00
CodeGen Pass in a "const Triple &T" instead of a raw StringRef. 2015-03-16 22:29:29 +00:00
DebugInfo
ExecutionEngine Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
Fuzzer
IR llvm-cov: Warn instead of error if a .gcda has arcs from an exit block 2015-03-17 00:18:51 +00:00
IRReader
LineEditor
Linker
LTO
MC Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
Object
Option Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
Passes
ProfileData InstrProf: Fix CoverageMappingReader on big endian 2015-03-16 21:40:18 +00:00
Support Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
TableGen
Target [AArch64] Use intermediate step for concat_vectors of illegal truncs. 2015-03-17 03:23:09 +00:00
Transforms [IRCE] Add a -irce-print-range-checks option. 2015-03-17 01:40:22 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile