[Mlir-commits] [llvm] [mlir] [IR] Split Br into UncondBr and CondBr (PR #184027)
Nikita Popov
llvmlistbot at llvm.org
Sun Mar 1 12:17:25 PST 2026
================
@@ -2802,29 +2802,34 @@ SelectionDAGBuilder::ShouldEmitAsBranches(const std::vector<CaseBlock> &Cases) {
return true;
}
-void SelectionDAGBuilder::visitBr(const BranchInst &I) {
+void SelectionDAGBuilder::visitUncondBr(const UncondBrInst &I) {
MachineBasicBlock *BrMBB = FuncInfo.MBB;
// Update machine-CFG edges.
MachineBasicBlock *Succ0MBB = FuncInfo.getMBB(I.getSuccessor(0));
- if (I.isUnconditional()) {
- // Update machine-CFG edges.
- BrMBB->addSuccessor(Succ0MBB);
-
- // If this is not a fall-through branch or optimizations are switched off,
- // emit the branch.
- if (Succ0MBB != NextBlock(BrMBB) ||
- TM.getOptLevel() == CodeGenOptLevel::None) {
- auto Br = DAG.getNode(ISD::BR, getCurSDLoc(), MVT::Other,
- getControlRoot(), DAG.getBasicBlock(Succ0MBB));
- setValue(&I, Br);
- DAG.setRoot(Br);
- }
+ // Update machine-CFG edges.
----------------
nikic wrote:
Duplicate comment.
https://github.com/llvm/llvm-project/pull/184027
More information about the Mlir-commits
mailing list