llvm-project/llvm/test/Analysis/BasicAA
Hal Finkel a6f86fc6fa Phi speculation improvement for BasicAA
This is a partial solution to PR14351. It removes some of the special
significance of the first incoming phi value in the phi aliasing checking logic
in BasicAA. In the context of a loop, the old logic assumes that the first
incoming value is the interesting one (meaning that it is the one that comes
from outside the loop), but this is often not the case.  With this change, we
now test first the incoming value that comes from a block other than the parent
of the phi being tested.

llvm-svn: 168245
2012-11-17 02:33:15 +00:00
..
2003-02-26-AccessSizeTest.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2003-03-04-GEPCrash.ll
2003-04-22-GEPProblem.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2003-04-25-GEPCrash.ll
2003-05-21-GEP-Problem.ll
2003-06-01-AliasCrash.ll
2003-07-03-BasicAACrash.ll
2003-09-19-LocalArgument.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2003-11-04-SimpleCases.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2003-12-11-ConstExprGEP.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2004-07-28-MustAliasbug.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2006-03-03-BadArraySubscript.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2006-11-03-BasicAAVectorCrash.ll
2007-01-13-BasePointerBadNoAlias.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2007-08-01-NoAliasAndCalls.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2007-08-01-NoAliasAndGEP.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2007-08-05-GetOverloadedModRef.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2007-10-24-ArgumentsGlobals.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2007-11-05-SizeCrash.ll
2007-12-08-OutOfBoundsCrash.ll
2008-04-15-Byval.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2008-06-02-GEPTailCrash.ll
2008-11-23-NoaliasRet.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2009-03-04-GEPNoalias.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
2009-10-13-AtomicModRef.ll Enhance alias analysis for atomic instructions a bit. Upgrade a couple alias-analysis tests to the new atomic instructions. 2011-09-26 20:15:28 +00:00
2009-10-13-GEP-BaseNoAlias.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2010-09-15-GEP-SignedArithmetic.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
aligned-overread.ll Teach BasicAA about the LLVM IR rules that allow reading past the end of an object given sufficient alignment. Fixes PR12098. 2012-02-27 20:46:07 +00:00
args-rets-allocas-loads.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
byval.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
cas.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
constant-over-index.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
dag.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
empty.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
featuretest.ll
full-store-partial-alias.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
gcsetest.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
gep-alias.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
getmodrefinfo-cs-cs.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
global-size.ll Duncan pointed out that if the alignment isn't explicitly specified, it defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases. 2012-02-27 23:16:46 +00:00
intrinsics.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
memset_pattern.ll Teach BasicAA about the aliasing properties of memset_pattern16. 2011-09-06 23:33:25 +00:00
modref.ll PR10628: Fix getModRefInfo so it queries the underlying alias() implementation correctly while checking nocapture calls. 2011-09-28 00:34:27 +00:00
must-and-partial.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
no-escape-call.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
noalias-geps.ll BasicAA: GEPs of NoAlias'ing base ptr with equivalent indices are NoAlias 2012-09-06 14:31:51 +00:00
nocapture.ll Don't infer whether a value is captured in the current function from the 2012-11-05 10:48:24 +00:00
phi-aa.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
phi-and-select.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
phi-spec-order.ll Phi speculation improvement for BasicAA 2012-11-17 02:33:15 +00:00
phi-speculation.ll BasicAA: Recognize cyclic NoAlias phis 2012-09-06 14:41:53 +00:00
pure-const-dce.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
store-promote.ll
tailcall-modref.ll FileCheck-ize these tests. Harden some of them. 2012-04-24 09:15:38 +00:00
underlying-value.ll Make DecomposeGEPExpression check SimplifyInstruction only 2011-05-24 18:24:08 +00:00
unreachable-block.ll