diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -901,7 +901,7 @@ if (EnableSROA) addPass(createSROAPass()); - if (EnableScalarIRPasses) + if (EnableScalarIRPasses && TM.getOptLevel() > CodeGenOpt::Less) addStraightLineScalarOptimizationPasses(); if (EnableAMDGPUAliasAnalysis) { @@ -933,7 +933,7 @@ // %1 = shl %a, 2 // // but EarlyCSE can do neither of them. - if (getOptLevel() != CodeGenOpt::None && EnableScalarIRPasses) + if (EnableScalarIRPasses && getOptLevel() > CodeGenOpt::Less) addEarlyCSEOrGVNPass(); } @@ -949,7 +949,7 @@ TargetPassConfig::addCodeGenPrepare(); - if (EnableLoadStoreVectorizer) + if (EnableLoadStoreVectorizer && TM->getOptLevel() > CodeGenOpt::Less) addPass(createLoadStoreVectorizerPass()); // LowerSwitch pass may introduce unreachable blocks that can @@ -1072,7 +1072,7 @@ if (EnableDPPCombine) addPass(&GCNDPPCombineID); addPass(&SILoadStoreOptimizerID); - if (EnableSDWAPeephole) { + if (EnableSDWAPeephole && getOptLevel() > CodeGenOpt::Less) { addPass(&SIPeepholeSDWAID); addPass(&EarlyMachineLICMID); addPass(&MachineCSEID);