llvm-6502/test/Transforms/GVN
Duncan Sands 3f329cb781 Teach GVN to also propagate switch cases. For example, in this code
switch (n) {
    case 27:
      do_something(x);
    ...
  }
the call do_something(x) will be replaced with do_something(27).  In
gcc-as-one-big-file this results in the removal of about 500 lines of
bitcode (about 0.02%), so has about 1/10 of the effect of propagating
branch conditions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141360 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 08:29:06 +00:00
..
2007-07-25-DominatedLoop.ll
2007-07-25-InfiniteLoop.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
2007-07-25-Loop.ll
2007-07-25-NestedLoop.ll
2007-07-25-SinglePredecessor.ll
2007-07-26-InterlockingLoops.ll remove a trivial test, make some other tests less trivial. 2011-05-22 07:02:43 +00:00
2007-07-26-NonRedundant.ll
2007-07-26-PhiErasure.ll
2007-07-30-PredIDom.ll
2007-07-31-NoDomInherit.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
2007-07-31-RedundantPhi.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
2008-02-12-UndefLoad.ll
2008-02-13-NewPHI.ll
2008-07-02-Unreachable.ll remove a trivial test, make some other tests less trivial. 2011-05-22 07:02:43 +00:00
2008-12-09-SelfRemove.ll
2008-12-12-RLE-Crash.ll
2008-12-14-rle-reanalyze.ll
2008-12-15-CacheVisited.ll
2009-01-21-SortInvalidation.ll
2009-01-22-SortInvalidation.ll
2009-02-17-LoadPRECrash.ll
2009-03-10-PREOnVoid.ll
2009-06-17-InvalidPRE.ll
2009-07-13-MemDepSortFail.ll
2009-11-12-MemDepMallocBitCast.ll
2010-03-31-RedundantPHIs.ll Teach InstructionSimplify about phi nodes. I chose to have it simply 2010-11-14 13:30:18 +00:00
2010-05-08-OneBit.ll Update some tests to the new EH scheme. 2011-09-01 00:58:03 +00:00
2010-11-13-Simplify.ll Testcase to go along with commit 118923 ("Have GVN simplify instructions 2010-11-13 21:33:19 +00:00
2011-04-27-phioperands.ll This is an automatically reduced test case that crashed in GVN, at some 2011-06-20 14:46:47 +00:00
2011-06-01-NonLocalMemdepMiscompile.ll When marking a block as being unanalyzable, use "Clobber" on the terminator instead of the first instruction in the block. This is a bit of a hack; "Clobber" isn't really the right marking in the first place. memdep doesn't really have any way of properly expressing "unanalyzable" at the moment. Using it on the terminator is much less ambiguous than using it on an arbitrary instruction, though. 2011-06-02 00:08:52 +00:00
2011-07-07-MatchIntrinsicExtract.ll Added test cases for GVN signed intrinsics recognition, r134777. 2011-07-09 00:36:54 +00:00
2011-09-07-TypeIdFor.ll Mark the eh.typeid.for intrinsic as being 'const', which it is inside 2011-09-09 07:50:37 +00:00
atomic.ll Atomic load/store handling for the passes using memdep (GVN, DSE, memcpyopt). 2011-08-17 22:22:24 +00:00
basic.ll
bitcast-of-call.ll
calls-nonlocal.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
calls-readonly.ll
condprop.ll Teach GVN to also propagate switch cases. For example, in this code 2011-10-07 08:29:06 +00:00
crash-no-aa.ll
crash.ll fix PR9841 by having GVN not process dead loads. This was 2011-05-22 07:03:34 +00:00
dg.exp
lifetime-simple.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
load-constant-mem.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
load-pre-align.ll
load-pre-licm.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
local-pre.ll
lpre-call-wrap-2.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
lpre-call-wrap.ll
non-local-offset.ll Enhance GVN to do more precise alias queries for non-local memory 2010-11-10 20:37:15 +00:00
nonescaping-malloc.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
null-aliases-nothing.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
phi-translate-partial-alias.ll Add a testcase to demonstrate the problem where phi translation is 2011-06-04 07:05:05 +00:00
phi-translate.ll GVN does simple propagation of conditions: when it sees a conditional 2011-10-05 14:28:49 +00:00
pr10820.ll Extra CHECK-NOT to make sure that GVN transform works properly. 2011-09-02 17:40:39 +00:00
pre-basic-add.ll
pre-load.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
pre-single-pred.ll LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to. 2010-09-25 05:26:18 +00:00
preserve-tbaa.ll make this test less trivial. 2011-05-22 06:59:33 +00:00
rle-must-alias.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
rle-no-phi-translate.ll
rle-nonlocal.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
rle-phi-translate.ll
rle-semidominated.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
rle.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00