llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Florian Hahn d307174e1d [ConstantRange] Use APInt::or/APInt::and for single elements.
Currently ConstantRange::binaryAnd/binaryOr results are too pessimistic
for single element constant ranges.

If both operands are single element ranges, we can use APInt's AND and
OR implementations directly.

Note that some other binary operations on constant ranges can cover the
single element cases naturally, but for OR and AND this unfortunately is
not the case.

Reviewers: nikic, spatel, lebedev.ri

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D76446
2020-04-01 09:50:24 +01:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
add.ll
alloca.ll
and.ll [CVP] Remove a masking operation if range information implies it's a noop 2019-10-11 03:48:56 +00:00
ashr.ll
basic.ll [CVP] Reenable nowrap flag inference 2019-06-24 20:13:13 +00:00
conflict.ll
crash.ll
deopt.ll [CVP] Reenable nowrap flag inference 2019-06-24 20:13:13 +00:00
guards.ll
icmp.ll [CVP] Simplify cmp of local phi node 2020-02-26 20:36:41 +01:00
merge-range-and-undef.ll [ValueLattice] Distinguish between constant ranges with/without undef. 2020-03-31 12:50:20 +01:00
mul.ll [CVP] Deduce no-wrap on `mul` 2019-10-21 08:21:44 +00:00
non-null.ll
overflow_predicate.ll
overflows.ll [CVP] After proving that @llvm.with.overflow()/@llvm.sat() don't overflow, also try to prove other no-wrap 2019-10-18 19:32:47 +00:00
phi-common-val.ll [CVP] prevent propagating poison when substituting edge values into a phi (PR43802) 2019-10-28 08:58:28 -04:00
pointer.ll
pr35807.ll
profmd.ll
range.ll [ConstantRange] Use APInt::or/APInt::and for single elements. 2020-04-01 09:50:24 +01:00
sdiv.ll
select.ll [JT][CVP] Regenerate test checks, again 2019-11-01 22:27:48 +01:00
sext.ll [CVP} Replace SExt with ZExt if the input is known-non-negative 2019-10-08 20:29:48 +00:00
shl.ll [CVP] No-wrap deduction for `shl` 2019-10-21 21:31:19 +00:00
srem.ll
sub.ll
udiv.ll [llvm] Fix broken cases of 'CHECK[^:]*$' in tests 2020-01-28 09:52:59 -07:00
urem.ll [llvm] Fix broken cases of 'CHECK[^:]*$' in tests 2020-01-28 09:52:59 -07:00