[PATCH] D100095: [InstCombine] Conditionally emitting nsw/nuw flags when combining two add operations
Mehrnoosh Heidarpour via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 12 07:25:46 PDT 2021
MehrHeidar added inline comments.
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp:3911
+ C, C3, "", BO1->hasNoUnsignedWrap(), BO1->hasNoSignedWrap());
return new ICmpInst(Pred, A, NewAdd);
}
----------------
nikic wrote:
> I don't think the nuw preservation is correct if the numbers are negative. Consider this case: https://alive2.llvm.org/ce/z/r3s3bw
I guess that if I change the condition for emitting `nuw` as follows:
```
C3.isPositive() && BO1->hasNoUnsignedWrap()
```
the preservation for `nuw` will be correct. Will it satisfy all the cases?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D100095/new/
https://reviews.llvm.org/D100095
More information about the llvm-commits
mailing list