[ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally,
authorChad Rosier <mcrosier@codeaurora.org>
Wed, 7 May 2014 16:41:55 +0000 (16:41 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Wed, 7 May 2014 16:41:55 +0000 (16:41 +0000)
commit8f0f45882405651ce0062c631a8c1f5f44aefcd8
tree53ab51850ebfd442f5f534c499a296d8c9764535
parent7858e495e9056c97660c03dc9b4631e997c4921b
[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
lib/Target/ARM64/ARM64AdvSIMDScalarPass.cpp
lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
lib/Target/ARM64/ARM64TargetMachine.cpp
test/CodeGen/ARM64/abi_align.ll
test/CodeGen/ARM64/fast-isel-conversion.ll