llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Chad Rosier c215c3fd14 [CVP] Convert an AShr to a LShr if 1st operand is known to be nonnegative.
An arithmetic shift can be safely changed to a logical shift if the first
operand is known positive. This allows ComputeKnownBits (and similar analysis)
to determine the sign bit of the shifted value in some cases. In turn, this
allows InstCombine to canonicalize a signed comparison (a > 0) into an equality
check (a != 0).

PR30577

Differential Revision: https://reviews.llvm.org/D25119

llvm-svn: 284013
2016-10-12 13:41:38 +00:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
add.ll CVP. Turn marking adds as no wrap (introduced by r278107) off by default 2016-08-18 16:08:35 +00:00
alloca.ll llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll REQUIRES +Asserts. 2016-09-15 09:45:31 +00:00
ashr.ll [CVP] Convert an AShr to a LShr if 1st operand is known to be nonnegative. 2016-10-12 13:41:38 +00:00
basic.ll [LVI] Reduce compile time by lazily scanning blocks if needed 2016-04-27 00:30:55 +00:00
conflict.ll [LVI] Introduce an intersect operation on lattice values 2016-02-02 03:15:40 +00:00
crash.ll [LVI] Fix potential memory corruption in getValueFromCondition 2016-08-12 15:08:15 +00:00
guards.ll [LVI] Take guards into account 2016-08-12 15:52:23 +00:00
icmp.ll [PM] Port CorrelatedValuePropagation 2016-07-06 23:26:29 +00:00
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] Take range metadata into account while calculating icmp condition constraints 2016-08-12 10:14:11 +00:00
sdiv.ll Remove extra whitespace. NFC. 2016-05-02 16:45:00 +00:00
select.ll [LVI] Improve select handling to use condition 2016-02-12 00:09:18 +00:00
srem.ll This converts a signed remainder instruction to unsigned remainder, which 2016-07-14 12:23:48 +00:00