Skip to content

Commit 72e4da4

Browse files
committed
Correctly report modified status for AMDGPUUnifyDivergentExitNodes
Related to https://reviews.llvm.org/D80916 Differential Revision: https://reviews.llvm.org/D81271
1 parent d2bd075 commit 72e4da4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ bool AMDGPUUnifyDivergentExitNodes::runOnFunction(Function &F) {
216216

217217
bool InsertExport = false;
218218

219+
bool Changed = false;
219220
for (BasicBlock *BB : PDT.getRoots()) {
220221
if (isa<ReturnInst>(BB->getTerminator())) {
221222
if (!isUniformlyReached(DA, *BB))
@@ -281,6 +282,7 @@ bool AMDGPUUnifyDivergentExitNodes::runOnFunction(Function &F) {
281282
BB->getTerminator()->eraseFromParent();
282283
BranchInst::Create(TransitionBB, DummyReturnBB, BoolTrue, BB);
283284
}
285+
Changed = true;
284286
}
285287
}
286288

@@ -299,6 +301,7 @@ bool AMDGPUUnifyDivergentExitNodes::runOnFunction(Function &F) {
299301
BB->getTerminator()->eraseFromParent();
300302
BranchInst::Create(UnreachableBlock, BB);
301303
}
304+
Changed = true;
302305
}
303306

304307
if (!ReturningBlocks.empty()) {
@@ -322,15 +325,16 @@ bool AMDGPUUnifyDivergentExitNodes::runOnFunction(Function &F) {
322325
// actually reached here.
323326
ReturnInst::Create(F.getContext(), RetVal, UnreachableBlock);
324327
ReturningBlocks.push_back(UnreachableBlock);
328+
Changed = true;
325329
}
326330
}
327331

328332
// Now handle return blocks.
329333
if (ReturningBlocks.empty())
330-
return false; // No blocks return
334+
return Changed; // No blocks return
331335

332336
if (ReturningBlocks.size() == 1 && !InsertExport)
333-
return false; // Already has a single return block
337+
return Changed; // Already has a single return block
334338

335339
const TargetTransformInfo &TTI
336340
= getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F);

0 commit comments

Comments
 (0)