llvm-project/llvm/test/Analysis/BasicAA
John Brawn cd73fe8989 [BasicAA] Use PhiValuesAnalysis if available when handling phi alias
By using PhiValuesAnalysis we can get all the values reachable from a phi, so
we can be more precise instead of giving up when a phi has phi operands. We
can't make BaseicAA directly use PhiValuesAnalysis though, as the user of
BasicAA may modify the function in ways that PhiValuesAnalysis can't cope with.

For this optional usage to work correctly BasicAAWrapperPass now needs to be not
marked as CFG-only (i.e. it is now invalidated even when CFG is preserved) due
to how the legacy pass manager handles dependent passes being invalidated,
namely the depending pass still has a pointer to the now-dead dependent pass.

Differential Revision: https://reviews.llvm.org/D44564

llvm-svn: 338242
2018-07-30 11:52:08 +00:00
..
2003-02-26-AccessSizeTest.ll
2003-03-04-GEPCrash.ll
2003-04-22-GEPProblem.ll
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
2003-11-04-SimpleCases.ll
2003-12-11-ConstExprGEP.ll
2004-07-28-MustAliasbug.ll
2006-03-03-BadArraySubscript.ll
2006-11-03-BasicAAVectorCrash.ll
2007-01-13-BasePointerBadNoAlias.ll
2007-08-01-NoAliasAndCalls.ll
2007-08-01-NoAliasAndGEP.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
2007-08-05-GetOverloadedModRef.ll
2007-10-24-ArgumentsGlobals.ll
2007-11-05-SizeCrash.ll
2007-12-08-OutOfBoundsCrash.ll
2008-04-15-Byval.ll
2008-06-02-GEPTailCrash.ll
2008-11-23-NoaliasRet.ll
2009-03-04-GEPNoalias.ll
2009-10-13-AtomicModRef.ll
2009-10-13-GEP-BaseNoAlias.ll
2010-09-15-GEP-SignedArithmetic.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
2014-03-18-Maxlookup-reached.ll
aligned-overread.ll
args-rets-allocas-loads.ll [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
assume.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
bug.23540.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
bug.23626.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
byval.ll
call-attrs.ll [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
cas.ll
constant-over-index.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
cs-cs-arm.ll [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
cs-cs.ll [BasicAA] Teach the analysis about atomic memcpy 2018-05-29 19:23:50 +00:00
dag.ll
empty.ll
fallback-mayalias.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
featuretest.ll
full-store-partial-alias.ll
gcsetest.ll
gep-alias.ll
gep-and-alias.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
getmodrefinfo-cs-cs.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
global-size.ll
guards.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
intrinsics-arm.ll Add '#' to test regex that I forgot in r303025. 2017-05-15 04:58:27 +00:00
intrinsics.ll AA: Use generic intrinsics for tests instead of target specific ones 2017-05-13 00:12:52 +00:00
invalidation.ll [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
invariant_group.ll [BasicAA] Fix handling of invariant group launders 2018-05-16 13:16:54 +00:00
invariant_load.ll
memset_pattern.ll
modref.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
must-and-partial.ll
negoffset.ll [BasicAA] Return MayAlias for the pointer plus variable offset to 2018-04-16 01:58:39 +00:00
no-escape-call.ll
noalias-bugs.ll
noalias-geps.ll
noalias-param.ll
noalias-wraparound-bug.ll
nocapture.ll
phi-aa.ll [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
phi-and-select.ll
phi-loop.ll
phi-spec-order.ll
phi-speculation.ll
phi-values-usage.ll [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
pr18573.ll
pr31761.ll Fix BasicAA incorrect assumption on GEP 2017-01-27 16:12:22 +00:00
pr35821.ll [BasicAA] Fix linearization of shifts beyond the bitwidth. 2018-01-05 16:18:47 +00:00
pr35843.ll [BasicAA] Stop crashing when dealing with pointers > 64 bits. 2018-01-15 01:40:18 +00:00
pure-const-dce.ll
q.bad.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
returned.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
sequential-gep.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
store-promote.ll
struct-geps.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
tailcall-modref.ll
underlying-value.ll
unreachable-block.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
zext.ll [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00