Issue 97282
Summary [DebugInfo][SimplifyIndVar] Missing debug location updates for div/rem instructions
Labels new issue
Assignees
Reporter svs-quic
    There are three instances where the debug information has not been propagated to the new div/rem instructions:


```
bool SimplifyIndvar::eliminateSDiv(BinaryOperator *SDiv) {
auto *UDiv = BinaryOperator::Create(
        BinaryOperator::UDiv, SDiv->getOperand(0), SDiv->getOperand(1),
        SDiv->getName() + ".udiv", SDiv->getIterator());
UDiv->setIsExact(SDiv->isExact());
SDiv->replaceAllUsesWith(UDiv);
```

```
void SimplifyIndvar::replaceSRemWithURem(BinaryOperator *Rem) {
auto *URem = BinaryOperator::Create(BinaryOperator::URem, N, D,
 Rem->getName() + ".urem", Rem->getIterator());
Rem->replaceAllUsesWith(URem);
```

```
void SimplifyIndvar::replaceRemWithNumeratorOrZero(BinaryOperator *Rem) {
SelectInst *Sel =
      SelectInst::Create(ICmp, ConstantInt::get(T, 0), N, "iv.rem", Rem->getIterator());
Rem->replaceAllUsesWith(Sel);
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to