forked from OSchip/llvm-project
[ARM] Don't run the block placement pass at O0
The block placement pass shouldn't run unless optimisations are enabled. Differential Revision: https://reviews.llvm.org/D94691
This commit is contained in:
parent
e9f1ed2306
commit
5e4480b6c0
|
@ -58,6 +58,8 @@ INITIALIZE_PASS(ARMBlockPlacement, DEBUG_TYPE, "ARM block placement", false,
|
|||
false)
|
||||
|
||||
bool ARMBlockPlacement::runOnMachineFunction(MachineFunction &MF) {
|
||||
if (skipFunction(MF.getFunction()))
|
||||
return false;
|
||||
const ARMSubtarget &ST = static_cast<const ARMSubtarget &>(MF.getSubtarget());
|
||||
if (!ST.hasLOB())
|
||||
return false;
|
||||
|
|
|
@ -553,11 +553,11 @@ void ARMPassConfig::addPreEmitPass() {
|
|||
return MF.getSubtarget<ARMSubtarget>().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(createARMBlockPlacementPass());
|
||||
addPass(createARMOptimizeBarriersPass());
|
||||
}
|
||||
}
|
||||
|
||||
void ARMPassConfig::addPreEmitPass2() {
|
||||
|
|
Loading…
Reference in New Issue