llvm/test/Transforms/GVN
Benjamin Kramer 8e0d1c03ca Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.

Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.

Fixes PR13694 and probably others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-29 15:32:21 +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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +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 remove a trivial test, make some other tests less trivial. 2011-05-22 07:02:43 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-07-31-RedundantPhi.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +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-07-02-Unreachable.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +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 Correct bogus module triple specifications. 2010-08-30 10:48:29 +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 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
2012-05-22-PreCrash.ll Fix PR12858, a crash due to GVN's PRE not fully removing an instruction from the 2012-05-22 14:17:53 +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 Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +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 Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
calls-readonly.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
commute.ll Teach GVN that x+y is the same as y+x and that x<y is the same as y>x. 2012-02-24 15:16:31 +00:00
condprop.ll Nick pointed out on IRC that GVN's propagateEquality wasn't propagating 2012-03-04 13:25:19 +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 fix PR9841 by having GVN not process dead loads. This was 2011-05-22 07:03:34 +00:00
edge.ll Teach GVN to reason about edges dominating uses. This allows it to handle cases 2012-08-16 15:09:43 +00:00
fpmath.ll When gvn decides to replace an instruction with another, we have to patch the 2012-06-04 22:44:21 +00:00
lifetime-simple.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
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
load-constant-mem.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
load-pre-align.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
load-pre-licm.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
local-pre.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
lpre-call-wrap-2.ll Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
lpre-call-wrap.ll
malloc-load-removal.ll Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
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 Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +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
pr12979.ll When gvn decides to replace an instruction with another, we have to patch the 2012-06-04 22:44:21 +00:00
pre-basic-add.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
pre-compare.ll Don't PRE compares. 2012-03-29 17:22:39 +00:00
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
range.ll When gvn decides to replace an instruction with another, we have to patch the 2012-06-04 22:44:21 +00:00
rle-must-alias.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +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 Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
rle.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
tbaa.ll When gvn decides to replace an instruction with another, we have to patch the 2012-06-04 22:44:21 +00:00