- A s< (A + C)<nsw> if C > 0
- A s<= (A + C)<nsw> if C >= 0
- (A + C)<nsw> s< A if C < 0
- (A + C)<nsw> s<= A if C <= 0
Right now C needs to be a constant, but we can later generalize it to
be a non-constant if needed.
Differential D13686
[SCEV] Teach SCEV some axioms about non-wrapping arithmetic sanjoy on Oct 12 2015, 9:29 PM. Authored by
Details
Right now C needs to be a constant, but we can later generalize it to
Diff Detail Event Timeline
Comment Actions LGTM w/minor comment.
Comment Actions r251050 may be causing a miscompile. See: |
The naming of this seems really odd. Possibly: ViaIntegerFacts?
"certian kinds of overflow" is confusing in the comment.