diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -553,11 +553,11 @@ return MF.getSubtarget().isThumb2(); })); - addPass(createARMBlockPlacementPass()); - - // Don't optimize barriers at -O0. - if (getOptLevel() != CodeGenOpt::None) + // Don't optimize barriers or block placement at -O0. + if (getOptLevel() != CodeGenOpt::None) { addPass(createARMOptimizeBarriersPass()); + addPass(createARMBlockPlacementPass()); + } } void ARMPassConfig::addPreEmitPass2() {