summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetMachine.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-05-20 21:40:38 +0000
committerDavide Italiano <davide@freebsd.org>2015-05-20 21:40:38 +0000
commit141b2891cb5d8cdaed5da000a737b42af164fade (patch)
tree6821c68ff1d434db2ec1f8d15ee2048c28333ce7 /llvm/lib/Target/ARM/ARMTargetMachine.cpp
parent2adfa3be0a9369efa326dad643b196f9c84cd57e (diff)
downloadbcm5719-llvm-141b2891cb5d8cdaed5da000a737b42af164fade.tar.gz
bcm5719-llvm-141b2891cb5d8cdaed5da000a737b42af164fade.zip
[Target/ARM] Only enable OptimizeBarrierPass at -O1 and above.
Ideally this is going to be and LLVM IR pass (shared, among others with AArch64), but for the time being just enable it if consumers ask us for optimization and not unconditionally. Discussed with Tim Northover on IRC. llvm-svn: 237837
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
index bd29a052c37..e794fb71af6 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
@@ -402,6 +402,9 @@ void ARMPassConfig::addPreEmitPass() {
if (getARMSubtarget().isThumb2())
addPass(&UnpackMachineBundlesID);
- addPass(createARMOptimizeBarriersPass());
+ // Don't optimize barriers at -O0.
+ if (getOptLevel() != CodeGenOpt::None)
+ addPass(createARMOptimizeBarriersPass());
+
addPass(createARMConstantIslandPass());
}
OpenPOWER on IntegriCloud