llvm-6502/test/Transforms/InstSimplify
Chandler Carruth fc72ae613a Teach instsimplify how to constant fold pointer differences.
Typically instcombine has handled this, but pointer differences show up
in several contexts where we would like to get constant folding, and
cannot afford to run instcombine. Specifically, I'm working on improving
the constant folding of arguments used in inline cost analysis with
instsimplify.

Doing this in instsimplify implies some algorithm changes. We have to
handle multiple layers of all-constant GEPs because instsimplify cannot
fold them into a single GEP the way instcombine can. Also, we're only
interested in all-constant GEPs. The result is that this doesn't really
replace the instcombine logic, it's just complimentary and focused on
constant folding.

Reviewed on IRC by Benjamin Kramer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152555 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12 11:19:31 +00:00
..
2010-12-20-Boolean.ll
2010-12-20-Distribute.ll
2011-01-14-Thread.ll
2011-02-01-Vector.ll
2011-09-05-InsertExtractValue.ll InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the original value if types don't match. 2011-09-05 18:16:19 +00:00
2011-10-27-BinOpCrash.ll Reapply commit 143028 with a fix: the problem was casting a ConstantExpr Mul 2011-10-27 19:16:21 +00:00
2011-11-23-MaskedBitsCrash.ll Fix a crash in which a multiplication was being reported as being both negative 2011-11-23 16:26:47 +00:00
AndOrXor.ll A shift of a power of two is a power of two or zero. 2011-10-28 18:30:05 +00:00
compare.ll Reinstate the optimization from r151449 with a fix to not turn 'gep %x' into 2012-02-26 02:09:49 +00:00
exact-nsw-nuw.ll
fdiv.ll
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
maxmin.ll
phi.ll Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189. 2012-03-05 23:09:40 +00:00
ptr_diff.ll Teach instsimplify how to constant fold pointer differences. 2012-03-12 11:19:31 +00:00
reassociate.ll
rem.ll
undef.ll Add tests for existing InstSimplify features. 2011-11-04 18:39:16 +00:00
vector_gep.ll Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00