llvm-6502/lib/Target/ARM64
Chad Rosier 8f0f458824 [ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally,
this patch disables the dead register elimination pass and the load/store pair
optimization pass at -O0.  The ILP optimizations don't require the optimization
level to be checked because the call to addILPOpts is predicated with the
necessary check.  The AdvSIMDScalar pass is disabled by default at all
optimization levels.  This patch leaves that pass disabled by default.

Also, move command-line options into ARM64TargetMachine.cpp and add a few
additional flags to aid in debugging.  This fixes an issue with the
-debug-pass=Structure flag where passes were printed, but not actually run
(i.e., AdvSIMDScalar pass).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208223 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-07 16:41:55 +00:00
..
AsmParser AArch64/ARM64: make NEON vector list parsing a bit more robust 2014-05-06 12:50:51 +00:00
Disassembler AArch64/ARM64: implement diagnosis of unpredictable loads & stores 2014-05-06 14:15:14 +00:00
InstPrinter ARM64: refactor NEON post-indexed loads & stores (MC). 2014-05-02 14:54:21 +00:00
MCTargetDesc AArch64/ARM64: implement remaining TLS relocations (purely MC). 2014-04-30 16:13:26 +00:00
TargetInfo [ARM64] Add a big endian version of the ARM64 target machine, and update all users. 2014-04-23 10:26:40 +00:00
Utils [ARM64] Conditionalize CPU specific system registers on subtarget features 2014-05-01 10:25:36 +00:00
ARM64.h
ARM64.td Fix typo. 2014-05-05 21:50:57 +00:00
ARM64AddressTypePromotion.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64AdvSIMDScalarPass.cpp [ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally, 2014-05-07 16:41:55 +00:00
ARM64AsmPrinter.cpp AArch64/ARM64: support indexed loads/stores on vector types. 2014-05-02 14:54:15 +00:00
ARM64BranchRelaxation.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64CallingConv.h
ARM64CallingConvention.td [ARM64-BE] Implement the lane-twiddling logic at AAPCS boundaries for big endian. 2014-05-07 12:33:41 +00:00
ARM64CleanupLocalDynamicTLSPass.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64CollectLOH.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64ConditionalCompares.cpp AArch64/ARM64: expunge CPSR from the sources 2014-04-30 13:14:14 +00:00
ARM64DeadRegisterDefinitionsPass.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64ExpandPseudoInsts.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64FastISel.cpp [ARM64-BE] Fix fast-isel, and add appropriate RUN lines to appropriate tests. 2014-05-07 12:33:55 +00:00
ARM64FrameLowering.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
ARM64FrameLowering.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64InstrAtomics.td
ARM64InstrFormats.td AArch64/ARM64: add more specific diagnostic for invalid vector lanes 2014-05-06 12:50:44 +00:00
ARM64InstrInfo.cpp AArch64/ARM64: expunge CPSR from the sources 2014-04-30 13:14:14 +00:00
ARM64InstrInfo.h AArch64/ARM64: expunge CPSR from the sources 2014-04-30 13:14:14 +00:00
ARM64InstrInfo.td [ARM64-BE] Implement the crazy bitcast handling for big endian vectors. 2014-05-07 11:28:53 +00:00
ARM64ISelDAGToDAG.cpp AArch64/ARM64: support indexed loads/stores on vector types. 2014-05-02 14:54:15 +00:00
ARM64ISelLowering.cpp AArch64/ARM64: optimise vector selects & enable test 2014-05-07 14:10:27 +00:00
ARM64ISelLowering.h Implememting named register intrinsics 2014-05-06 16:51:25 +00:00
ARM64LoadStoreOptimizer.cpp [ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally, 2014-05-07 16:41:55 +00:00
ARM64MachineFunctionInfo.h
ARM64MCInstLower.cpp
ARM64MCInstLower.h
ARM64PerfectShuffle.h
ARM64PromoteConstant.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64RegisterInfo.cpp AArch64/ARM64: expunge CPSR from the sources 2014-04-30 13:14:14 +00:00
ARM64RegisterInfo.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64RegisterInfo.td AArch64/ARM64: expunge CPSR from the sources 2014-04-30 13:14:14 +00:00
ARM64SchedA53.td [ARM64] Ports the Cortex-A53 Machine Model description from AArch64. 2014-04-18 21:22:04 +00:00
ARM64SchedCyclone.td [ARM64] Ports the Cortex-A53 Machine Model description from AArch64. 2014-04-18 21:22:04 +00:00
ARM64Schedule.td
ARM64SelectionDAGInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
ARM64SelectionDAGInfo.h
ARM64StorePairSuppress.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
ARM64Subtarget.cpp [ARM64] Prefer generation of bzero on Darwin only 2014-05-01 13:11:59 +00:00
ARM64Subtarget.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. ARM64 edition 2014-04-29 07:58:25 +00:00
ARM64TargetMachine.cpp [ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally, 2014-05-07 16:41:55 +00:00
ARM64TargetMachine.h [ARM64] Add a big endian version of the ARM64 target machine, and update all users. 2014-04-23 10:26:40 +00:00
ARM64TargetObjectFile.cpp
ARM64TargetObjectFile.h
ARM64TargetTransformInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile