llvm-mirror/test/Transforms/LICM
Alina Sbirlea 5724a0a24f [MemorySSA +LICM CFHoist] Solve PR40317.
Summary:
MemorySSA needs updating each time an instruction is moved.
LICM and control flow hoisting re-hoists instructions, thus needing another update when re-moving those instructions.
Pending cleanup: the MSSA update is duplicated, should be moved inside moveInstructionBefore.

Reviewers: jnspaulsson

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

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

llvm-svn: 352092
2019-01-24 19:48:35 +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
2011-04-09-RAUW-AST.ll
2011-07-06-Alignment.ll
2014-09-10-doFinalizationAssert.ll
alias-set-tracker-loss.ll
AliasSetMemSet.ll
argmemonly-call.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
assume.ll [LICM] Hoist assumes out of loops 2018-08-10 22:21:56 +00:00
atomics.ll [LICM] Hoist stores of invariant values to invariant addresses out of loops 2018-08-29 21:49:30 +00:00
basictest.ll
bisect-state.ll
call-hoisting.ll [LICM] Fix a test so it actualy checks what was meant [NFC] 2018-08-21 21:27:26 +00:00
constexpr.ll
crash.ll
debug-value.ll
dropped-tbaa.ll
explicit_guards.ll Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
extra-copies.ll
fence.ll [LICM] hoist fences out of loops w/o memory operations 2018-08-09 20:18:42 +00:00
funclet.ll [LICM] Hoist stores of invariant values to invariant addresses out of loops 2018-08-29 21:49:30 +00:00
guards.ll [LICM] Hoist guards from non-header blocks 2018-11-12 09:29:58 +00:00
hoist-bitcast-load.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-debuginvariant.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-deref-load.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-fast-fdiv.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-invariant-load.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-mustexec.ll [LICM] Use ICFLoopSafetyInfo in LICM 2018-11-06 02:44:49 +00:00
hoist-nounwind.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-phi.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoist-round.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
hoisting.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
infinite_loops.ll [MustExecute] Fix algorithmic bug in isGuaranteedToExecute. PR38514 2018-08-17 06:19:17 +00:00
int_sideeffect.ll
invariant.start.ll [LICM] Hoist an invariant_start out of loops if there are no stores executed before it 2018-08-24 16:24:48 +00:00
lcssa-ssa-promoter.ll
loopsink-pr38462.ll LoopSink: Don't sink into blocks without an insertion point (PR38462) 2018-08-29 06:55:27 +00:00
loopsink-pr39570.ll [LoopSink] Do not sink instructions into non-cold blocks 2018-11-07 18:26:24 +00:00
loopsink-pr39695.ll [LoopSink] Add preheader to alias set 2018-11-20 16:49:07 +00:00
loopsink.ll NFC - Various typo fixes in tests 2018-07-04 13:28:39 +00:00
no-preheader-test.ll
opt-remarks-conditional-load.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
opt-remarks-intervening-store.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
opt-remarks.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
pr23608.ll
pr26843.ll
pr27262.ll
pr32129.ll
pr35342.ll
pr36228.ll [Analysis] Make LocationSizes carry an 'imprecise' bit 2018-10-10 06:39:40 +00:00
pr37323.ll [LICM] Preserve DT and LoopInfo specifically 2018-05-24 15:58:34 +00:00
pr40317.ll [MemorySSA +LICM CFHoist] Solve PR40317. 2019-01-24 19:48:35 +00:00
PR19798.ll
PR21582.ll
PR24013.ll
preheader-safe.ll [LICM] Use ICFLoopSafetyInfo in LICM 2018-11-06 02:44:49 +00:00
Preserve-LCSSA.ll
promote-order.ll [LICM] Hoist stores of invariant values to invariant addresses out of loops 2018-08-29 21:49:30 +00:00
promote-tls.ll
read-only-calls.ll [LICM] Add a diagnostic analysis for identifying alias information 2018-08-17 13:44:00 +00:00
scalar-promote-memmodel.ll
scalar-promote-unwind.ll
scalar-promote.ll [LICM] Add tests from D50786 [NFC] 2018-08-21 00:42:07 +00:00
sink-foldable.ll
sink-promote.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
sink.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
sinking.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00
speculate.ll
store-hoisting.ll Add a todo and tests to Address a review commnt from D50925 [NFC] 2018-08-29 22:09:21 +00:00
strlen.ll
unrolled-deeply-nested.ll
update-scev.ll
volatile-alias.ll Use MemorySSA in LICM to do sinking and hoisting. 2019-01-10 19:29:04 +00:00