[llvm] AMDGPU: fix isSafeToSink expecting exactly one predecessor (PR #89224)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 18 07:28:57 PDT 2024


================
@@ -217,10 +217,20 @@ bool SIInstrInfo::isSafeToSink(MachineInstr &MI,
         SmallVector<MachineBasicBlock *, 1> ExitBlocks;
         FromCycle->getExitBlocks(ExitBlocks);
         assert(ExitBlocks.size() == 1);
-        assert(ExitBlocks[0]->getSinglePredecessor());
-
+        // After structurize-cfg, cycle exit block should have exactly one
----------------
jayfoad wrote:

> it could give wrong impression that we can deal with cycle with two divergent exits or similar

*This* code can deal with all those cases, can't it?

https://github.com/llvm/llvm-project/pull/89224


More information about the llvm-commits mailing list