Skip to content

Commit 2b4b909

Browse files
authored
[AMDGPU] Remove unused amdgpu-disable-structurizer flag (#105800)
1 parent cbf34a5 commit 2b4b909

File tree

2 files changed

+21
-37
lines changed

2 files changed

+21
-37
lines changed

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,6 @@ static cl::opt<bool> EnableAMDGPUAliasAnalysis("enable-amdgpu-aa", cl::Hidden,
263263
cl::desc("Enable AMDGPU Alias Analysis"),
264264
cl::init(true));
265265

266-
// Disable structurizer-based control-flow lowering in order to test convergence
267-
// control tokens. This should eventually be replaced by the wave-transform.
268-
static cl::opt<bool, true> DisableStructurizer(
269-
"amdgpu-disable-structurizer",
270-
cl::desc("Disable structurizer for experiments; produces unusable code"),
271-
cl::location(AMDGPUTargetMachine::DisableStructurizer), cl::ReallyHidden);
272-
273266
// Enable lib calls simplifications
274267
static cl::opt<bool> EnableLibCallSimplify(
275268
"amdgpu-simplify-libcall",
@@ -622,7 +615,6 @@ AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, const Triple &TT,
622615

623616
bool AMDGPUTargetMachine::EnableFunctionCalls = false;
624617
bool AMDGPUTargetMachine::EnableLowerModuleLDS = true;
625-
bool AMDGPUTargetMachine::DisableStructurizer = false;
626618
bool AMDGPUTargetMachine::EnableStructurizerWorkarounds = true;
627619

628620
AMDGPUTargetMachine::~AMDGPUTargetMachine() = default;
@@ -1239,21 +1231,19 @@ bool GCNPassConfig::addPreISel() {
12391231
// Merge divergent exit nodes. StructurizeCFG won't recognize the multi-exit
12401232
// regions formed by them.
12411233
addPass(&AMDGPUUnifyDivergentExitNodesID);
1242-
if (!DisableStructurizer) {
1243-
if (EnableStructurizerWorkarounds) {
1244-
addPass(createFixIrreduciblePass());
1245-
addPass(createUnifyLoopExitsPass());
1246-
}
1247-
addPass(createStructurizeCFGPass(false)); // true -> SkipUniformRegions
1234+
if (EnableStructurizerWorkarounds) {
1235+
addPass(createFixIrreduciblePass());
1236+
addPass(createUnifyLoopExitsPass());
12481237
}
1238+
addPass(createStructurizeCFGPass(false)); // true -> SkipUniformRegions
1239+
12491240
addPass(createAMDGPUAnnotateUniformValuesLegacy());
1250-
if (!DisableStructurizer) {
1251-
addPass(createSIAnnotateControlFlowLegacyPass());
1252-
// TODO: Move this right after structurizeCFG to avoid extra divergence
1253-
// analysis. This depends on stopping SIAnnotateControlFlow from making
1254-
// control flow modifications.
1255-
addPass(createAMDGPURewriteUndefForPHILegacyPass());
1256-
}
1241+
addPass(createSIAnnotateControlFlowLegacyPass());
1242+
// TODO: Move this right after structurizeCFG to avoid extra divergence
1243+
// analysis. This depends on stopping SIAnnotateControlFlow from making
1244+
// control flow modifications.
1245+
addPass(createAMDGPURewriteUndefForPHILegacyPass());
1246+
12571247
addPass(createLCSSAPass());
12581248

12591249
if (TM->getOptLevel() > CodeGenOptLevel::Less)
@@ -1863,7 +1853,6 @@ void AMDGPUCodeGenPassBuilder::addCodeGenPrepare(AddIRPass &addPass) const {
18631853
}
18641854

18651855
void AMDGPUCodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {
1866-
const bool DisableStructurizer = AMDGPUTargetMachine::DisableStructurizer;
18671856
const bool EnableStructurizerWorkarounds =
18681857
AMDGPUTargetMachine::EnableStructurizerWorkarounds;
18691858

@@ -1880,25 +1869,21 @@ void AMDGPUCodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {
18801869

18811870
addPass(AMDGPUUnifyDivergentExitNodesPass());
18821871

1883-
if (!DisableStructurizer) {
1884-
if (EnableStructurizerWorkarounds) {
1885-
addPass(FixIrreduciblePass());
1886-
addPass(UnifyLoopExitsPass());
1887-
}
1888-
1889-
addPass(StructurizeCFGPass(/*SkipUniformRegions=*/false));
1872+
if (EnableStructurizerWorkarounds) {
1873+
addPass(FixIrreduciblePass());
1874+
addPass(UnifyLoopExitsPass());
18901875
}
18911876

1877+
addPass(StructurizeCFGPass(/*SkipUniformRegions=*/false));
1878+
18921879
addPass(AMDGPUAnnotateUniformValuesPass());
18931880

1894-
if (!DisableStructurizer) {
1895-
addPass(SIAnnotateControlFlowPass(TM));
1881+
addPass(SIAnnotateControlFlowPass(TM));
18961882

1897-
// TODO: Move this right after structurizeCFG to avoid extra divergence
1898-
// analysis. This depends on stopping SIAnnotateControlFlow from making
1899-
// control flow modifications.
1900-
addPass(AMDGPURewriteUndefForPHIPass());
1901-
}
1883+
// TODO: Move this right after structurizeCFG to avoid extra divergence
1884+
// analysis. This depends on stopping SIAnnotateControlFlow from making
1885+
// control flow modifications.
1886+
addPass(AMDGPURewriteUndefForPHIPass());
19021887

19031888
addPass(LCSSAPass());
19041889

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ class AMDGPUTargetMachine : public LLVMTargetMachine {
3838
public:
3939
static bool EnableFunctionCalls;
4040
static bool EnableLowerModuleLDS;
41-
static bool DisableStructurizer;
4241
static bool EnableStructurizerWorkarounds;
4342

4443
AMDGPUTargetMachine(const Target &T, const Triple &TT, StringRef CPU,

0 commit comments

Comments
 (0)