aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
diff options
context:
space:
mode:
authorShan Huang <shan.huang@stu.ecnu.edu.cn>2025-07-14 09:45:37 +0800
committerGitHub <noreply@github.com>2025-07-14 09:45:37 +0800
commit089106fdfb853c83cf5d35a37bdd8e663094e6a2 (patch)
tree1e9335da5f7367fd2450eee3a1bc4ebfa91a676a /llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
parent60b168c1469730a6db915d0ece38bc9088e2034b (diff)
downloadllvm-089106fdfb853c83cf5d35a37bdd8e663094e6a2.zip
llvm-089106fdfb853c83cf5d35a37bdd8e663094e6a2.tar.gz
llvm-089106fdfb853c83cf5d35a37bdd8e663094e6a2.tar.bz2
[DebugInfo][LoopStrengthReduce] Salvage the debug value of the dead cmp instruction (#147241)
Fix #147238
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index 845afa6..9e8d2f2 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -2559,8 +2559,10 @@ ICmpInst *LSRInstance::OptimizeMax(ICmpInst *Cond, IVStrideUse* &CondUse) {
Instruction *Cmp = cast<Instruction>(Sel->getOperand(0));
Cond->eraseFromParent();
Sel->eraseFromParent();
- if (Cmp->use_empty())
+ if (Cmp->use_empty()) {
+ salvageDebugInfo(*Cmp);
Cmp->eraseFromParent();
+ }
return NewCond;
}