hanchenye-llvm-project/llvm/test/Transforms/LICM
Keno Fischer 99886f09a1 [AliasSetTracker] Don't drop AA MD so eagerly
Summary:
When we have patterns like
loop:
    %la = load %ptr, !tbaa
    %lba = load %ptr, !tbaa !noalias

AliasSetTracker would previously think that the two types of annotation for
the pointer conflict, dropping both for the purpose of determining alias sets.
That is clearly way too conservative, as the tbaa is still valid whether or
not one of the memory accesses has additional AA metadata. We could go
one step further and attempt to properly merge the AA metadata,
but it's not clear that that would be worth it since that may introduce
additional MD nodes, which may be undesirable since this is merely an
Analysis.

Reviewers: hfinkel

Subscribers: llvm-commits

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

llvm-svn: 306727
2017-06-29 19:13:11 +00:00
..
2003-02-26-LoopExitNotDominated.ll
2003-02-27-NestedLoopExitBlocks.ll
2003-02-27-PreheaderExitNodeUpdate.ll
2003-02-27-PreheaderProblem.ll
2003-02-27-StoreSinkPHIs.ll
2003-02-28-PromoteDifferentType.ll
2003-05-02-LoadHoist.ll
2003-12-11-SinkingToPHI.ll
2004-09-14-AliasAnalysisInvalidate.ll
2004-11-17-UndefIndexCrash.ll
2006-09-12-DeadUserOfSunkInstr.ll
2007-05-22-VolatileSink.ll
2007-07-30-AliasSet.ll
2007-09-17-PromoteValue.ll
2007-09-24-PromoteNullValue.ll
2007-10-01-PromoteSafeValue.ll
2008-05-20-AliasSetVAArg.ll
2008-07-22-LoadGlobalConstant.ll
2009-12-10-LICM-Indbr-Crash.ll
2011-04-06-HoistMissedASTUpdate.ll
2011-04-06-PromoteResultOfPromotion.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
2011-04-09-RAUW-AST.ll
2011-07-06-Alignment.ll
2014-09-10-doFinalizationAssert.ll
AliasSetMemSet.ll
PR19798.ll
PR21582.ll
PR24013.ll
Preserve-LCSSA.ll
alias-set-tracker-loss.ll
argmemonly-call.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
assume.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
atomics.ll [LICM] Make store promotion work in the face of unordered atomics 2017-02-14 01:38:31 +00:00
basictest.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
bisect-state.ll [LICM] Work around LICM needs to maintain state across loops. 2016-12-23 13:12:50 +00:00
constexpr.ll [PM] Teach the LoopPassManager to automatically canonicalize loops by 2017-01-17 19:18:12 +00:00
crash.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
debug-value.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
dropped-tbaa.ll [AliasSetTracker] Don't drop AA MD so eagerly 2017-06-29 19:13:11 +00:00
extra-copies.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
funclet.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
hoist-bitcast-load.ll [PM] Teach the loop PM to run LoopSimplify prior to the loop pipeline. 2017-01-21 03:48:51 +00:00
hoist-deref-load.ll [PM] Teach the loop PM to run LoopSimplify prior to the loop pipeline. 2017-01-21 03:48:51 +00:00
hoist-fast-fdiv.ll [LICM] Hoist fp division from the loops and replace by a reciprocal 2017-04-11 02:22:54 +00:00
hoist-invariant-load.ll
hoist-nounwind.ll [PM] Teach the LoopPassManager to automatically canonicalize loops by 2017-01-17 19:18:12 +00:00
hoist-round.ll Mark @llvm.powi.* as safe to speculatively execute. 2017-01-25 09:32:30 +00:00
hoisting.ll [LICM] Hoist loads that are dominated by invariant.start intrinsic, and are invariant in the loop. 2017-02-02 13:22:03 +00:00
lcssa-ssa-promoter.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
loopsink.ll [PM] Port LoopSink to the new pass manager. 2017-01-20 08:42:19 +00:00
no-preheader-test.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
opt-remarks-conditional-load.ll [LICM] Report failing to hoist conditionally-executed loads 2017-01-11 04:39:49 +00:00
opt-remarks-intervening-store.ll [LICM] Report failing to hoist a load with an invariant address 2017-01-11 04:39:45 +00:00
opt-remarks.ll Correct a typo, s/hosting/hoisting/ 2017-02-14 16:41:10 +00:00
pr23608.ll
pr26843.ll
pr27262.ll
pr32129.ll Use a WeakVH for UnknownInstructions in AliasSetTracker 2017-03-11 01:15:48 +00:00
preheader-safe.ll Revert "Compute safety information in a much finer granularity." 2017-04-24 18:25:07 +00:00
promote-order.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
promote-tls.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
scalar-promote-memmodel.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
scalar-promote-unwind.ll Improve what can be promoted in LICM. 2017-01-19 19:31:40 +00:00
scalar-promote.ll [LICM] Make store promotion work in the face of unordered atomics 2017-02-14 01:38:31 +00:00
sink.ll [PM] Port LoopSink to the new pass manager. 2017-01-20 08:42:19 +00:00
sinking.ll
speculate.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00
strlen.ll Add argmononly attribute to strlen and wcslen, i.e. they only read memory (string) passed to them. 2017-06-18 03:10:26 +00:00
unrolled-deeply-nested.ll [LICM] When we are recomputing the alias sets for a subloop, we cannot 2017-01-27 10:27:32 +00:00
update-scev.ll
volatile-alias.ll [LICM] Report successful hoist/sink/promotion 2017-01-11 04:39:35 +00:00