Update the block cloner which fixes bugpoint on code using unwind_to (phew!)

and also update the cloning interface's major user, the loop optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48088 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky
2008-03-09 05:24:34 +00:00
parent 6af31aab63
commit 529de8a457
7 changed files with 45 additions and 16 deletions

View File

@ -130,6 +130,10 @@ Loop *llvm::CloneLoop(Loop *OrigL, LPPassManager *LPM, LoopInfo *LI,
for(SmallVector<BasicBlock *, 16>::iterator NBItr = NewBlocks.begin(),
NBE = NewBlocks.end(); NBItr != NBE; ++NBItr) {
BasicBlock *NB = *NBItr;
if (BasicBlock *UnwindDest = NB->getUnwindDest())
NB->setUnwindDest(cast<BasicBlock>(ValueMap[UnwindDest]));
for(BasicBlock::iterator BI = NB->begin(), BE = NB->end();
BI != BE; ++BI) {
Instruction *Insn = BI;