summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution/increasing-and-decreasing-range.ll
Commit message (Collapse)AuthorAgeFilesLines
* [SCEV] Prove no-overflow via constant rangesSanjoy Das2016-03-031-88/+0
| | | | | | | Exploit ScalarEvolution::getRange's newly acquired smartness (since r262438) by using that to infer nsw and nuw when possible. llvm-svn: 262639
* [SCEV] Make getRange smarter around selectsSanjoy Das2016-03-021-0/+88
Have ScalarEvolution::getRange re-consider cases like "{C?A:B,+,C?P:Q}" by factoring out "C" and computing RangeOf{A,+,P} union RangeOf({B,+,Q}) instead. The latter can be easier to compute precisely in cases like "{C?0:N,+,C?1:-1}" N is the backedge taken count of the loop; since in such cases the latter form simplifies to [0,N+1) union [0,N+1). llvm-svn: 262438
OpenPOWER on IntegriCloud