llvm/test/Transforms/GVN
Bob Wilson 84bd6b0c31 Re-commit my previous SSAUpdater changes. The previous version naively tried
to determine where to place PHIs by iteratively comparing reaching definitions
at each block.  That was just plain wrong.  This version now computes the
dominator tree within the subset of the CFG where PHIs may need to be placed,
and then places the PHIs in the iterated dominance frontier of each definition.
The rest of the patch is mostly the same, with a few more performance
improvements added in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101612 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 03:08:24 +00:00
..
2007-07-25-DominatedLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-25-InfiniteLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-25-Loop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-25-NestedLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-25-SinglePredecessor.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-26-InterlockingLoops.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-26-NonRedundant.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-26-PhiErasure.ll switch GVN to use SSAUpdater. Besides removing a lot of complexity 2009-10-10 23:50:30 +00:00
2007-07-30-PredIDom.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-31-NoDomInherit.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-07-31-RedundantPhi.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-12-UndefLoad.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-13-NewPHI.ll stop using anders-aa 2010-03-01 20:24:50 +00:00
2008-02-24-NonDominatedMemcpy.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-26-MemCpySize.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-02-Unreachable.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-12-09-SelfRemove.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-12-12-RLE-Crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-12-14-rle-reanalyze.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-12-15-CacheVisited.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-21-SortInvalidation.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-22-SortInvalidation.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-02-17-LoadPRECrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-03-10-PREOnVoid.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-06-17-InvalidPRE.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-07-13-MemDepSortFail.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-11-12-MemDepMallocBitCast.ll Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call. 2009-10-13 01:42:53 +00:00
2010-03-31-RedundantPHIs.ll Re-commit my previous SSAUpdater changes. The previous version naively tried 2010-04-17 03:08:24 +00:00
basic.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bitcast-of-call.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
calls-nonlocal.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
calls-readonly.ll Check that GVN performs this transform even if the calls 2009-10-16 12:18:23 +00:00
condprop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
crash-no-aa.ll Fix PR5744, a case where we were getting the pointer size instead of the 2009-12-10 00:11:45 +00:00
crash.ll a testcase that doesn't crash GVN but could someday. 2010-02-11 05:08:05 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
invariant-simple.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
lifetime-simple.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
load-constant-mem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
load-pre-align.ll Check alignment of loads when deciding whether it is safe to execute them 2010-01-30 04:42:39 +00:00
local-pre.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
lpre-call-wrap-2.ll Eliminate uses of %prcontext. 2009-09-05 11:35:16 +00:00
lpre-call-wrap.ll Eliminate uses of %prcontext. 2009-09-05 11:35:16 +00:00
mixed.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
nonescaping-malloc.ll Try to work around grep's "Binary file (standard input) matches" complaints seen 2009-11-20 09:53:25 +00:00
null-aliases-nothing.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
pre-basic-add.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
pre-load.ll Testcase for critical edge splitting with load PRE. 2010-02-16 20:48:55 +00:00
pre-single-pred.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
rle-must-alias.ll I accidentally implemented this :) 2009-11-27 19:56:00 +00:00
rle-no-phi-translate.ll this test is failing, and is expected to. 2009-11-27 06:36:28 +00:00
rle-nonlocal.ll Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock. 2010-01-27 22:01:02 +00:00
rle-phi-translate.ll fix an overly conservative caching issue that caused memdep to 2009-12-19 21:29:22 +00:00
rle-semidominated.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
rle.ll fix PR6642, GVN forwarding from memset to load of the base of the memset. 2010-03-25 05:58:19 +00:00