llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Nikita Popov 91836fd7f3 [LVI][CVP] Handle (x | y) < C style conditions
InstCombine may convert conditions like (x < C) && (y < C) into
(x | y) < C (for some C). This patch teaches LVI to recognize that
in this case, it can infer either x < C or y < C along the edge.

This fixes the issue reported at
https://github.com/rust-lang/rust/issues/73827.

Differential Revision: https://reviews.llvm.org/D82715
2020-07-01 20:43:24 +02:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
add.ll
alloca.ll
and.ll
ashr.ll
basic.ll
conflict.ll
crash.ll
deopt.ll
guards.ll
icmp.ll [LVI][CVP] Handle (x | y) < C style conditions 2020-07-01 20:43:24 +02:00
merge-range-and-undef.ll [ValueLattice] Distinguish between constant ranges with/without undef. 2020-03-31 12:50:20 +01:00
mul.ll
non-null.ll [CVP] Add another non null test (NFC) 2020-06-20 13:05:42 +02:00
overflow_predicate.ll
overflows.ll
phi-common-val.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
pointer.ll
pr35807.ll
profmd.ll
range.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
sdiv.ll
select.ll [JT][CVP] Regenerate test checks, again 2019-11-01 22:27:48 +01:00
sext.ll
shl.ll
srem.ll
sub.ll [ValueLattice] Merging unknown with empty CR is unknown. 2020-04-25 13:43:34 +01:00
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