summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2014-05-07 16:41:55 +0000
committerChad Rosier <mcrosier@codeaurora.org>2014-05-07 16:41:55 +0000
commit788e5e3d7c059a590bd4fe32b776399cabe8264d (patch)
tree87f6897f48a8ea732894d67e5024f63c7794b8ba /llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
parent3bf77c5d30a021cbc5fbb7d67d978b51cdd3ed70 (diff)
downloadbcm5719-llvm-788e5e3d7c059a590bd4fe32b776399cabe8264d.tar.gz
bcm5719-llvm-788e5e3d7c059a590bd4fe32b776399cabe8264d.zip
[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). llvm-svn: 208223
Diffstat (limited to 'llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp')
-rw-r--r--llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp b/llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
index da7a8cd3d90..40b39126fad 100644
--- a/llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/ARM64/ARM64LoadStoreOptimizer.cpp
@@ -40,8 +40,6 @@ STATISTIC(NumPreFolded, "Number of pre-index updates folded");
STATISTIC(NumUnscaledPairCreated,
"Number of load/store from unscaled generated");
-static cl::opt<bool> DoLoadStoreOpt("arm64-load-store-opt", cl::init(true),
- cl::Hidden);
static cl::opt<unsigned> ScanLimit("arm64-load-store-scan-limit", cl::init(20),
cl::Hidden);
@@ -923,10 +921,6 @@ bool ARM64LoadStoreOpt::optimizeBlock(MachineBasicBlock &MBB) {
}
bool ARM64LoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
- // Early exit if pass disabled.
- if (!DoLoadStoreOpt)
- return false;
-
const TargetMachine &TM = Fn.getTarget();
TII = static_cast<const ARM64InstrInfo *>(TM.getInstrInfo());
TRI = TM.getRegisterInfo();
OpenPOWER on IntegriCloud