llvm-6502/test/Transforms/InstSimplify
Chandler Carruth 70d3bebc8b Add support to ValueTracking for determining that a pointer is non-null
by virtue of inbounds GEPs that preclude a null pointer.

This is a very common pattern in the code generated by std::vector and
other standard library routines which use allocators that test for null
pervasively. This is one step closer to teaching Clang+LLVM to be able
to produce an empty function for:

  void f() {
    std::vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    v.push_back(4);
  }

Which is related to getting them to completely fold SmallVector
push_back sequences into constants when inlining and other optimizations
make that a possibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169573 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-07 02:08:58 +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 Add support to ValueTracking for determining that a pointer is non-null 2012-12-07 02:08:58 +00:00
exact-nsw-nuw.ll
fast-math.ll Fast-math test for SimplifyInstruction: fold multiply by 0 2012-11-27 01:00:22 +00:00
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 Switch the pointer-difference simplification logic to only work with 2012-03-25 20:43:07 +00:00
reassociate.ll Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) -> 2012-03-13 14:07:05 +00:00
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