@@ -339,6 +339,10 @@ static cl::opt<bool, true> EnableLowerModuleLDS(
339339 cl::location(AMDGPUTargetMachine::EnableLowerModuleLDS), cl::init(true ),
340340 cl::Hidden);
341341
342+ static cl::opt<bool > EnableSwLowerLDS (" amdgpu-enable-sw-lower-lds" ,
343+ cl::desc (" Enable sw lower lds pass" ),
344+ cl::init(true ), cl::Hidden);
345+
342346static cl::opt<bool > EnablePreRAOptimizations (
343347 " amdgpu-enable-pre-ra-optimizations" ,
344348 cl::desc (" Enable Pre-RA optimizations pass" ), cl::init(true ),
@@ -600,12 +604,7 @@ AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, const Triple &TT,
600604
601605bool AMDGPUTargetMachine::EnableLateStructurizeCFG = false ;
602606bool AMDGPUTargetMachine::EnableFunctionCalls = false ;
603- #if __has_feature(address_sanitizer)
604- bool AMDGPUTargetMachine::EnableLowerModuleLDS = false ;
605- EnableLowerModuleLDS = false ;
606- #else
607607bool AMDGPUTargetMachine::EnableLowerModuleLDS = true ;
608- #endif
609608bool AMDGPUTargetMachine::DisableStructurizer = false ;
610609
611610AMDGPUTargetMachine::~AMDGPUTargetMachine () = default ;
@@ -677,8 +676,8 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(
677676 PB.registerPipelineEarlySimplificationEPCallback (
678677 [](ModulePassManager &PM, OptimizationLevel Level) {
679678 PM.addPass (AMDGPUPrintfRuntimeBindingPass ());
680-
681- PM.addPass (AMDGPUSwLowerLDSPass ());
679+ if (EnableSwLowerLDS)
680+ PM.addPass (AMDGPUSwLowerLDSPass ());
682681
683682 if (Level == OptimizationLevel::O0)
684683 return ;
0 commit comments