llvm-project/llvm/lib/Target/AArch64
Benjamin Kramer f3ad23551d SDAG: Legalize vector BSWAP into a shuffle if the shuffle is legal but the bswap not.
- On ARM/ARM64 we get a vrev because the shuffle matching code is really smart. We still unroll anything that's not v4i32 though.
- On X86 we get a pshufb with SSSE3. Required more cleverness in isShuffleMaskLegal.
- On PPC we get a vperm for v8i16 and v4i32. v2i64 is unrolled.

llvm-svn: 209123
2014-05-19 13:12:38 +00:00
..
AsmParser [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
Disassembler [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
InstPrinter TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
MCTargetDesc [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
TargetInfo Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
Utils Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
AArch64.h [AArch64] Add support for TargetTransformInfo Analysis. 2014-02-20 16:00:08 +00:00
AArch64.td AArch64: error when both positional & named operands are used. 2014-03-13 09:00:13 +00:00
AArch64AsmPrinter.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
AArch64AsmPrinter.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64BranchFixupPass.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64CallingConv.td [AArch64] Removed unnecessary copy patterns with v1fx types. 2013-12-12 15:46:29 +00:00
AArch64FrameLowering.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
AArch64FrameLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64ISelDAGToDAG.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64ISelLowering.cpp SDAG: Legalize vector BSWAP into a shuffle if the shuffle is legal but the bswap not. 2014-05-19 13:12:38 +00:00
AArch64ISelLowering.h Revert "Implement global merge optimization for global variables." 2014-05-16 13:02:18 +00:00
AArch64InstrFormats.td AArch64: error when both positional & named operands are used. 2014-03-13 09:00:13 +00:00
AArch64InstrInfo.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64InstrInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64InstrInfo.td AArch64: disable printing of add/sub alias 2014-05-16 09:41:43 +00:00
AArch64InstrNEON.td TableGen/ARM64: print aliases even if they have syntax variants. 2014-05-15 11:16:32 +00:00
AArch64MCInstLower.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
AArch64MachineFunctionInfo.cpp AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64MachineFunctionInfo.h AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64RegisterInfo.cpp [cleanup] Lift using directives, DEBUG_TYPE definitions, and even some 2014-04-22 02:03:14 +00:00
AArch64RegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64RegisterInfo.td [AArch64] Removed unused i8 type from FPR8 register class. 2014-01-24 22:36:53 +00:00
AArch64Schedule.td Fix some doc and comment typos 2014-04-09 14:47:27 +00:00
AArch64ScheduleA53.td [AArch64] Add SchedRW lists to NEON instructions. 2014-03-21 19:34:41 +00:00
AArch64SelectionDAGInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
AArch64SelectionDAGInfo.h Fix formatting in AArch64 backend. 2013-02-05 13:24:56 +00:00
AArch64Subtarget.cpp [cleanup] Lift using directives, DEBUG_TYPE definitions, and even some 2014-04-22 02:03:14 +00:00
AArch64Subtarget.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64TargetMachine.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64TargetMachine.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64TargetObjectFile.cpp Make sure -use-init-array has intended effect on all AArch64 ELF targets, not just linux. 2014-01-10 13:41:49 +00:00
AArch64TargetObjectFile.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
AArch64TargetTransformInfo.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition 2014-04-29 07:58:34 +00:00
CMakeLists.txt [AArch64] Add support for TargetTransformInfo Analysis. 2014-02-20 16:00:08 +00:00
LLVMBuild.txt LLVMBuild.txt: Add missing dependencies. 2014-04-10 11:16:47 +00:00
Makefile Remove cyclic dependency in AArch64 libraries 2013-02-05 13:24:47 +00:00
README.txt

README.txt

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