diff options
author | Davide Italiano <davide@freebsd.org> | 2015-05-20 21:40:38 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2015-05-20 21:40:38 +0000 |
commit | 141b2891cb5d8cdaed5da000a737b42af164fade (patch) | |
tree | 6821c68ff1d434db2ec1f8d15ee2048c28333ce7 /llvm/lib/Target/ARM/ARMTargetMachine.cpp | |
parent | 2adfa3be0a9369efa326dad643b196f9c84cd57e (diff) | |
download | bcm5719-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.cpp | 5 |
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()); } |