summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
Commit message (Collapse)AuthorAgeFilesLines
* [SCEV] Use unsigned/signed intersection type in SCEVNikita Popov2019-06-151-4/+4
| | | | | | | | | | | | Based on D59959, this switches SCEV to use unsigned/signed range intersection based on the sign hint. This will prefer non-wrapping ranges in the relevant domain. I've left the one intersection in getRangeForAffineAR() to use the smallest intersection heuristic, as there doesn't seem to be any obvious preference there. Differential Revision: https://reviews.llvm.org/D60035 llvm-svn: 363490
* Remove trailing newline from test case; NFCSanjoy Das2016-03-091-1/+0
| | | | llvm-svn: 262980
* [SCEV] Slightly generalize getRangeViaFactoringSanjoy Das2016-03-091-0/+58
| | | | | | | | | Building on the previous change, this generalizes ScalarEvolution::getRangeViaFactoring to work with {Ext(C?A:B)+k0,+,Ext(C?A:B)+k1} where Ext can be a zero extend, sign extend or truncate operation, and k0 and k1 are constants. llvm-svn: 262979
* [SCEV] Slightly generalize getRangeViaFactoringSanjoy Das2016-03-091-2/+53
| | | | | | | | This change generalizes ScalarEvolution::getRangeViaFactoring to work with {Ext(C?A:B),+,Ext(C?A:B)} where Ext can be a zero extend, sign extend or truncate operation. llvm-svn: 262978
* [SCEV] Prove no-overflow via constant rangesSanjoy Das2016-03-031-0/+139
Exploit ScalarEvolution::getRange's newly acquired smartness (since r262438) by using that to infer nsw and nuw when possible. llvm-svn: 262639
OpenPOWER on IntegriCloud