diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-09-25 23:53:45 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-09-25 23:53:45 +0000 |
| commit | 96709c485431a241cef6f23817b92ad217f0ec4c (patch) | |
| tree | dc1eea899c14bdb874f8f98f28c93ee6bcec426e /clang/lib/CodeGen/CGExprScalar.cpp | |
| parent | 93ab942c2403f9f5cca7d02c5964e61d9a41b733 (diff) | |
| download | bcm5719-llvm-96709c485431a241cef6f23817b92ad217f0ec4c.tar.gz bcm5719-llvm-96709c485431a241cef6f23817b92ad217f0ec4c.zip | |
[SCEV] Reapply 'Exploit A < B => (A+K) < (B+K) when possible'
Summary:
This change teaches SCEV's `isImpliedCond` two new identities:
A u< B u< -C => (A + C) u< (B + C)
A s< B s< INT_MIN - C => (A + C) s< (B + C)
While these are useful on their own, they're really intended to support
D12950.
The original checkin, r248606 had to be backed out due to an issue with
a ObjCXX unit test. That issue is now fixed, so re-landing.
Reviewers: atrick, reames, majnemer, nlewycky, hfinkel
Subscribers: aadg, sanjoy, llvm-commits
Differential Revision: http://reviews.llvm.org/D12948
llvm-svn: 248637
Diffstat (limited to 'clang/lib/CodeGen/CGExprScalar.cpp')
0 files changed, 0 insertions, 0 deletions

