I realize that these get increasingly boring with each patch,
but i'm running out of commit messages here :/
Alive proofs:
https://rise4fun.com/Alive/8Bq
Paths
| Differential D67502
[InstSimplify] simplifyUnsignedRangeCheck(): '(a+b) </>= c &&/|| (a+b) ==/!= 0' if we known 'c' is 'a' or 'b' and is non-zero (PR43259) Changes PlannedPublic Authored by lebedev.ri on Sep 12 2019, 7:54 AM.
Details Summary I realize that these get increasingly boring with each patch, Alive proofs:
Diff Detail
Event Timelinelebedev.ri retitled this revision from [InstSimplify] simplifyUnsignedRangeCheck(): '(a+b) </>= a/b &&/|| a/b ==/!= 0' if we known a or b is non-zero (PR43259) to [InstSimplify] simplifyUnsignedRangeCheck(): '(a+b) </>= c &&/|| (a+b) ==/!= 0' if we known 'c' is 'a' or 'b' and is non-zero (PR43259). Comment ActionsFix fold: we need to know that the value we compared with in UnsignedICmp is non-zero, not either of the values in add.
lebedev.ri marked 4 inline comments as done. lebedev.ri added inline comments.
Revision Contents
Diff 219920 llvm/lib/Analysis/InstructionSimplify.cpp
llvm/test/Transforms/InstSimplify/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
|
Comments don't match code.