llvm-project/llvm/test/Transforms/LICM
Jamie Schmeiser 7f6360cdc6 Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug.
Summary:
Expand existing loopsink testing to also test loopsinking using new pass
manager.  Enable memoryssa for loopsink with new pass manager.  This
combination exposed a bug that was previously fixed for loopsink
without memoryssa.  When sinking an instruction into a loop, the source
block may not be part of the loop but still needs to be checked for
pointer invalidation.  This is the fix for bugzilla #39695 (PR 54659)
expanded to also work with memoryssa.

Respond to review comments.  Enable Memory SSA in legacy Loop Sink pass
under EnableMSSALoopDependency option control.  Update tests accordingly.

Respond to review comments.  Add options controlling whether memoryssa is
used for loop sink, defaulting to off.  Expand testing based on these
options.

Respond to review comments.  Properly indicated preserved analyses.

This relanding addresses a compile-time performance problem by moving
test for profile data earlier to avoid unnecessary computations.

Author: Jamie Schmeiser <schmeise@ca.ibm.com>
Reviewed By: asbirlea (Alina Sbirlea)
Differential Revision: https://reviews.llvm.org/D90249
2020-11-20 10:26:33 -05:00
..
AArch64 [AArch64][SVE] Drop "argmemonly" from gather/scatter with vector base. 2020-09-25 16:01:05 -07:00
AMDGPU
Inputs [LICM] Make Loop ICM profile aware again 2020-09-15 17:21:58 -07:00
2003-02-26-LoopExitNotDominated.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
2003-02-27-NestedLoopExitBlocks.ll
2003-02-27-PreheaderExitNodeUpdate.ll
2003-02-27-PreheaderProblem.ll Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
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 [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
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 [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
2009-12-10-LICM-Indbr-Crash.ll
2011-04-06-HoistMissedASTUpdate.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
2011-04-06-PromoteResultOfPromotion.ll
2011-04-09-RAUW-AST.ll
2011-07-06-Alignment.ll
2014-09-10-doFinalizationAssert.ll
AliasSetMemSet.ll
PR19798.ll
PR21582.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
PR24013.ll
Preserve-LCSSA.ll [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
alias-set-tracker-loss.ll
argmemonly-call.ll [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency 2020-09-23 15:17:43 -07:00
assume.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
atomics.ll [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency 2020-09-23 15:17:43 -07:00
basictest.ll
bisect-state.ll
call-hoisting.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
callbr-crash.ll
constexpr.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
convergent.ll Prevent LICM and machineLICM from hoisting convergent operations 2020-11-06 10:26:39 -08:00
crash.ll
debug-value.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
dropped-tbaa.ll Rename scoped-noalias -> scoped-noalias-aa 2020-07-24 12:14:27 -07:00
explicit_guards.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
extra-copies.ll
fence.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
freeze.ll [LICM] Allow freeze to hoist/sink out of a loop 2020-03-03 12:29:39 +09:00
funclet.ll
guards.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
hoist-bitcast-load.ll [LoopSimplifyCFG][NewPM] Rename simplify-cfg -> loop-simplifycfg 2020-09-21 08:27:19 -07:00
hoist-debuginvariant.ll
hoist-deref-load.ll [LoopSimplifyCFG][NewPM] Rename simplify-cfg -> loop-simplifycfg 2020-09-21 08:27:19 -07:00
hoist-fast-fdiv.ll
hoist-invariant-load.ll [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
hoist-mustexec.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
hoist-nounwind.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
hoist-phi.ll
hoist-round.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
hoisting-preheader-debugloc.ll [Instruction] Add dropLocation and updateLocationAfterHoist helpers 2020-09-24 15:00:04 -07:00
hoisting.ll [SVE] Fix isLoadInvariantInLoop for scalable vectors 2020-09-15 08:30:19 +01:00
infinite_loops.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
int_sideeffect.ll
invariant.start.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
lcssa-ssa-promoter.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
loopsink-pr38462.ll Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug. 2020-11-20 10:26:33 -05:00
loopsink-pr39570.ll Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug. 2020-11-20 10:26:33 -05:00
loopsink-pr39695.ll Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug. 2020-11-20 10:26:33 -05:00
loopsink.ll Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug. 2020-11-20 10:26:33 -05:00
no-hoist-prof.ll [LICM] Make Loop ICM profile aware again 2020-09-15 17:21:58 -07:00
no-preheader-test.ll
opt-remarks-conditional-load.ll
opt-remarks-intervening-store.ll
opt-remarks.ll
outer-loop-deleted-before-licm.ll
pr23608.ll [AssumeBundles] add cannonicalisation to the assume builder 2020-06-19 10:32:26 +02:00
pr26843.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
pr27262.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
pr32129.ll [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
pr35342.ll
pr36228.ll
pr37323.ll
pr38513.ll [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
pr40317.ll For some tests targeting SystemZ, -march=z13 ---> -mcpu=z13 2020-07-29 19:18:01 -07:00
pr42969.ll Rename scoped-noalias -> scoped-noalias-aa 2020-07-24 12:14:27 -07:00
pragma-licm-disable.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
preheader-safe.ll
promote-order.ll [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency 2020-09-23 15:17:43 -07:00
promote-tls.ll [tbaa] Rename type-based-aa -> tbaa 2020-07-30 19:51:35 -07:00
read-only-calls.ll [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency 2020-09-23 15:17:43 -07:00
read-volatile-register.ll AArch64+ARM: make LLVM consider system registers volatile. 2020-07-15 09:47:36 +01:00
scalar-promote-memmodel.ll [tbaa] Rename type-based-aa -> tbaa 2020-07-30 19:51:35 -07:00
scalar-promote-unwind.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
scalar-promote.ll [tbaa] Rename type-based-aa -> tbaa 2020-07-30 19:51:35 -07:00
sink-debuginfo-preserve.ll [LICM] Try to merge debug locations when sinking. 2020-04-15 12:29:34 -07:00
sink-foldable.ll [NFC] Update tests 2020-05-05 15:28:40 +01:00
sink-promote.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
sink.ll [LICM] Make Loop ICM profile aware again 2020-09-15 17:21:58 -07:00
sinking.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
speculate.ll
store-hoisting.ll [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency 2020-09-23 15:17:43 -07:00
strlen.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
unrolled-deeply-nested.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
update-scev.ll [test][NewPM] Fix update-scev.ll under NPM 2020-09-22 19:26:30 -07:00
volatile-alias.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00