diff options
author | Chris Lattner <sabre@nondot.org> | 2010-12-13 05:34:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-12-13 05:34:18 +0000 |
commit | 97bd89ece3fff29ab7e0eaa38f85183abd962f42 (patch) | |
tree | 3bd68ed775d07ae510ebb08821719ca69f1e79d8 /lib/Transforms/Utils/SimplifyCFG.cpp | |
parent | 979b8f1d8c1887edce1d2381747ee42ff2f6fb17 (diff) |
fix a bug in r121680 that upset the various buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121687 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r-- | lib/Transforms/Utils/SimplifyCFG.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index e16125e832..9187a0f175 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -1899,6 +1899,13 @@ static bool SimplifyBranchOnICmpChain(BranchInst *BI, const TargetData *TD) { BranchInst::Create(EdgeBB, NewBB, ExtraCase, OldTI); OldTI->eraseFromParent(); + + // If there are PHI nodes in EdgeBB, then we need to add a new entry to them + // for the edge we just added. + for (BasicBlock::iterator I = EdgeBB->begin(); isa<PHINode>(I); ++I) { + PHINode *PN = cast<PHINode>(I); + PN->addIncoming(PN->getIncomingValueForBlock(NewBB), BB); + } BB = NewBB; } |