summaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/LoopFlatten.cpp
diff options
context:
space:
mode:
authorwangpc <wangpengcheng.pp@bytedance.com>2024-07-05 16:47:50 +0800
committerWang Pengcheng <wangpengcheng.pp@bytedance.com>2024-07-05 16:47:50 +0800
commitb6415b46e6a24470802600f5d5ec1d14fa3ba003 (patch)
treeda0f6997ea857964870fd4652804e30d41bbb7b9 /llvm/lib/Transforms/Scalar/LoopFlatten.cpp
parent600fe423c020d03dbaa0470bf57bd50392518606 (diff)
parentca94bf9f2bd15fe34936f1759bffd26d7e93b182 (diff)
Created using spr 1.3.6-beta.1
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopFlatten.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopFlatten.cpp6
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());