diff options
author | Devang Patel <dpatel@apple.com> | 2008-07-03 00:08:13 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-07-03 00:08:13 +0000 |
commit | 7dcfff392aa1749c4e3c447c1acb8dc4e363890b (patch) | |
tree | 6fa49e700d70508ad4abc8be249c4968e5cab36b /llvm/lib/Transforms | |
parent | 7a265d83bf9ad4e691f6f980afa709591dc57058 (diff) | |
download | bcm5719-llvm-7dcfff392aa1749c4e3c447c1acb8dc4e363890b.tar.gz bcm5719-llvm-7dcfff392aa1749c4e3c447c1acb8dc4e363890b.zip |
Undo previous patch. It is not that simple to fix dom info here.
llvm-svn: 53062
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopUnswitch.cpp | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp index 916bb5f7ae9..b6c6e03609d 100644 --- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp +++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp @@ -1204,32 +1204,18 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC, // trying to update it is complicated. So instead we preserve the // loop structure and put the block on an dead code path. - BasicBlock *SISucc = SI->getSuccessor(i); BasicBlock* Old = SI->getParent(); BasicBlock* Split = SplitBlock(Old, SI, this); Instruction* OldTerm = Old->getTerminator(); - BranchInst::Create(Split, SISucc, + BranchInst::Create(Split, SI->getSuccessor(i), ConstantInt::getTrue(), OldTerm); - if (DT) { - // Now, SISucc is dominated by Old. - DT->changeImmediateDominator(SISucc, Old); - if (DF) { - // Now, Split does not dominate SISucc. - // SISucc is the only member in Split's DF. - DominanceFrontier::iterator S_DFI = DF->find(Split); - if (S_DFI != DF->end()) - S_DFI->second.clear(); - addBBToDomFrontier(*DF, S_DFI, Split, SISucc); - } - } - LPM->deleteSimpleAnalysisValue(Old->getTerminator(), L); Old->getTerminator()->eraseFromParent(); PHINode *PN; - for (BasicBlock::iterator II = SISucc->begin(); + for (BasicBlock::iterator II = SI->getSuccessor(i)->begin(); (PN = dyn_cast<PHINode>(II)); ++II) { Value *InVal = PN->removeIncomingValue(Split, false); PN->addIncoming(InVal, Old); |