llvm-project/llvm/test/Analysis/BasicAA
Evgeniy Brevnov 0e55d4fab0 [AA] Refine ModRefInfo for llvm.memcpy.* in presence of operand bundles
Presence of operand bundles changes semantics in respect to ModRef. In particular, spec says: "From the compilers perspective, deoptimization operand bundles make the call sites theyre attached to at least readonly. They read through all of their pointer typed operands (even if theyre not otherwise escaped) and the entire visible heap. Deoptimization operand bundles do not capture their operands except during deoptimization, in which case control will not be returned to the compiled frame". Fix handling of llvm.memcpy.* according to the spec.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D118033
2022-01-25 10:15:23 +07:00
..
128-bit-ptr.ll
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
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
2014-03-18-Maxlookup-reached.ll
aligned-overread.ll
args-rets-allocas-loads.ll
assume-index-positive.ll [BasicAA] Use saturating multiply on range if nsw 2021-11-02 20:27:39 +01:00
assume.ll
atomic-memory-intrinsics.ll [MemoryLocation] Support missing atomic intrinsics in getForArg. 2021-12-04 22:18:39 +00:00
bug.23540.ll
bug.23626.ll
byval.ll
call-attrs.ll
cas.ll
constant-over-index.ll
cs-cs-arm.ll
cs-cs.ll
dag.ll
deoptimize.ll [AA] Refine ModRefInfo for llvm.memcpy.* in presence of operand bundles 2022-01-25 10:15:23 +07:00
dereferenceable.ll [BasicAA] Ignore CanBeFreed in minimal extent reasoning 2021-10-04 22:08:57 +02:00
empty.ll
fallback-mayalias.ll
featuretest.ll
full-store-partial-alias.ll
gcsetest.ll
gep-alias.ll
gep-and-alias-64.ll
gep-and-alias.ll [BasicAA] Don't unnecessarily extend pointer size 2021-10-06 18:40:21 +02:00
gep-decomposition-limit.ll
gep-implicit-trunc-32-bit-pointers.ll [BasicAA] Model implicit trunc of GEP indices 2021-10-22 23:47:02 +02:00
gep-modulo.ll
getmodrefinfo-cs-cs.ll
global-size.ll
guards.ll
index-size.ll [BasicAA] Use index size instead of pointer size 2021-11-07 18:56:11 +01:00
intrinsics-arm.ll
intrinsics.ll
invalidation.ll
invariant_group.ll
invariant_load.ll
libfuncs-darwin.ll [MemoryLocation] Support memset_pattern{4,8} in getForArgument. 2021-12-08 19:39:45 +00:00
libfuncs.ll [MemoryLocation] strcat/strncat/strcpy read/write after their args. 2021-12-03 08:48:23 +00:00
modref.ll
must-and-partial.ll
negoffset.ll
no-escape-call.ll
noalias-bugs.ll
noalias-geps.ll
noalias-inttoptr.ll
noalias-param.ll
noalias-scope-decl.ll
noalias-wraparound-bug.ll
nocapture.ll
phi-aa.ll
phi-and-select.ll
phi-loop.ll
phi-spec-order.ll
phi-speculation.ll
phi-values-usage.ll [test] Cleanup tests with -enable-new-pm in llvm/test/Analysis 2021-09-04 16:06:10 -07:00
pr18573.ll
pr31761.ll
pr35821.ll
pr35843.ll
pr52735.ll [Tests] Add elementtype attribute to indirect inline asm operands (NFC) 2022-01-06 14:23:51 +01:00
ptrmask.ll
pure-const-dce.ll
q.bad.ll [BasicAA] Make test more robust (NFC) 2021-10-01 22:57:01 +02:00
range.ll [BasicAA] Make range check more precise 2021-10-27 12:40:58 +02:00
recphi.ll
returned.ll [BasicAA] Add missing inbounds to tests (NFC) 2021-10-29 19:05:39 +02:00
sequential-gep.ll re-land "[AA] Teach BasicAA to recognize basic GEP range information." 2021-10-11 10:04:22 +02:00
store-promote.ll [test] Cleanup tests with -enable-new-pm in llvm/test/Analysis 2021-09-04 16:06:10 -07:00
struct-geps.ll [BasicAA] Don't treat non-inbounds GEP as nsw 2021-10-29 22:30:44 +02:00
tail-byval.ll
tailcall-modref.ll
underlying-value.ll
unreachable-block.ll
vscale.ll [BasicAA] Improve scalable vector handling 2021-10-14 20:23:50 +02:00
zext.ll