llvm/test/Transforms/GVN
Duncan Sands 33756f96d7 Reduce the number of dom queries made by GVN's conditional propagation
logic by half: isOnlyReachableViaThisEdge was trying to be clever and
handle the case of a branch to a basic block which is contained in a
loop.  This costs a domtree lookup and is completely useless due to
GVN's position in the pass pipeline: all loops have preheaders at this
point, which means it is enough for isOnlyReachableViaThisEdge to check
that Dst has only one predecessor.  (I checked this theoretical argument
by running over the entire nightly testsuite, and indeed it is so!).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149838 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05 18:25:50 +00:00
..
2007-07-25-DominatedLoop.ll
2007-07-25-InfiniteLoop.ll
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
2007-07-31-RedundantPhi.ll
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
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
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
calls-readonly.ll
condprop.ll Reduce the number of dom queries made by GVN's conditional propagation 2012-02-05 18:25:50 +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
load-constant-mem.ll
load-pre-align.ll
load-pre-licm.ll
local-pre.ll
lpre-call-wrap-2.ll
lpre-call-wrap.ll
non-local-offset.ll
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
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
pre-single-pred.ll
preserve-tbaa.ll make this test less trivial. 2011-05-22 06:59:33 +00:00
rle-must-alias.ll
rle-no-phi-translate.ll
rle-nonlocal.ll
rle-phi-translate.ll
rle-semidominated.ll
rle.ll Fix crasher in GVN due to my recent capture tracking changes. 2011-11-21 19:42:56 +00:00