llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Haicheng Wu d60ae33d29 [CVP] Convert an SDiv to a UDiv if both operands are known to be nonnegative
The motivating example is this

for (j = n; j > 1; j = i) {
   i = j / 2;
}

The signed division is safely to be changed to an unsigned division (j is known
to be larger than 1 from the loop guard) and later turned into a single shift
without considering the sign bit.

llvm-svn: 263406
2016-03-14 03:24:28 +00:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
basic.ll [LVI] Extend select handling to catch min/max/clamp idioms 2016-02-26 22:53:59 +00:00
conflict.ll [LVI] Introduce an intersect operation on lattice values 2016-02-02 03:15:40 +00:00
crash.ll
icmp.ll
non-null.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
range.ll [LVI] Fix a bug which prevented use of !range metadata within a query 2016-03-04 22:27:39 +00:00
sdiv.ll [CVP] Convert an SDiv to a UDiv if both operands are known to be nonnegative 2016-03-14 03:24:28 +00:00
select.ll [LVI] Improve select handling to use condition 2016-02-12 00:09:18 +00:00