diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopFlatten.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp index 715f63b836c6..d5e91d3c1dec 100644 --- a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp +++ b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp @@ -783,8 +783,10 @@ static bool DoFlattenLoopPair(FlattenInfo &FI, DominatorTree *DT, LoopInfo *LI, // Replace the inner loop backedge with an unconditional branch to the exit. BasicBlock *InnerExitBlock = FI.InnerLoop->getExitBlock(); BasicBlock *InnerExitingBlock = FI.InnerLoop->getExitingBlock(); - InnerExitingBlock->getTerminator()->eraseFromParent(); - BranchInst::Create(InnerExitBlock, InnerExitingBlock); + Instruction *Term = InnerExitingBlock->getTerminator(); + Instruction *BI = BranchInst::Create(InnerExitBlock, InnerExitingBlock); + BI->setDebugLoc(Term->getDebugLoc()); + Term->eraseFromParent(); // Update the DomTree and MemorySSA. DT->deleteEdge(InnerExitingBlock, FI.InnerLoop->getHeader()); |
