diff options
author | Sudharsan Veeravalli <quic_svs@quicinc.com> | 2024-07-02 19:31:48 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-02 15:01:48 +0100 |
commit | f55e12a76d2bf3c4789190debf238a0dc898317f (patch) | |
tree | a1a454798197b5f1ba6cdee5d5dcae53e2fbb8b4 /llvm/lib/Transforms | |
parent | 904e8f936495207cbb36a52fb8ca8183b44d6838 (diff) | |
download | llvm-f55e12a76d2bf3c4789190debf238a0dc898317f.zip llvm-f55e12a76d2bf3c4789190debf238a0dc898317f.tar.gz llvm-f55e12a76d2bf3c4789190debf238a0dc898317f.tar.bz2 |
[DebugInfo][SimplifyIndVar] Fix missing debug locations for div/rem instructions (#97284)
Fixes #97282
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp b/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp index 74af0ef..e38505c 100644 --- a/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp @@ -312,6 +312,7 @@ bool SimplifyIndvar::eliminateSDiv(BinaryOperator *SDiv) { SDiv->getName() + ".udiv", SDiv->getIterator()); UDiv->setIsExact(SDiv->isExact()); SDiv->replaceAllUsesWith(UDiv); + UDiv->setDebugLoc(SDiv->getDebugLoc()); LLVM_DEBUG(dbgs() << "INDVARS: Simplified sdiv: " << *SDiv << '\n'); ++NumSimplifiedSDiv; Changed = true; @@ -328,6 +329,7 @@ void SimplifyIndvar::replaceSRemWithURem(BinaryOperator *Rem) { auto *URem = BinaryOperator::Create(BinaryOperator::URem, N, D, Rem->getName() + ".urem", Rem->getIterator()); Rem->replaceAllUsesWith(URem); + URem->setDebugLoc(Rem->getDebugLoc()); LLVM_DEBUG(dbgs() << "INDVARS: Simplified srem: " << *Rem << '\n'); ++NumSimplifiedSRem; Changed = true; @@ -351,6 +353,7 @@ void SimplifyIndvar::replaceRemWithNumeratorOrZero(BinaryOperator *Rem) { SelectInst *Sel = SelectInst::Create(ICmp, ConstantInt::get(T, 0), N, "iv.rem", Rem->getIterator()); Rem->replaceAllUsesWith(Sel); + Sel->setDebugLoc(Rem->getDebugLoc()); LLVM_DEBUG(dbgs() << "INDVARS: Simplified rem: " << *Rem << '\n'); ++NumElimRem; Changed = true; |