OSDN Git Service

Update the MachineBasicBlock CFG for an indirect branch.
authorDan Gohman <gohman@apple.com>
Tue, 27 Oct 2009 22:10:34 +0000 (22:10 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 27 Oct 2009 22:10:34 +0000 (22:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85325 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

index d68d248..fe95c75 100644 (file)
@@ -2132,6 +2132,10 @@ void SelectionDAGLowering::visitSwitch(SwitchInst &SI) {
 }
 
 void SelectionDAGLowering::visitIndBr(IndBrInst &I) {
+  // Update machine-CFG edges.
+  for (unsigned i = 0, e = I.getNumSuccessors(); i != e; ++i)
+    CurMBB->addSuccessor(FuncInfo.MBBMap[I.getSuccessor(i)]);
+
   DAG.setRoot(DAG.getNode(ISD::BRIND, getCurDebugLoc(),
                           MVT::Other, getControlRoot(),
                           getValue(I.getAddress())));