llvm-project/llvm/test/Transforms/SimplifyCFG
Roman Lebedev cc63203908
[SimplifyCFG] Common code sinking: fix application of profitability check
The profitability check is: we don't want to create more than a single PHI
per instruction sunk. We need to create the PHI unless we'll sink
all of it's would-be incoming values.

But there is a caveat there.
This profitability check doesn't converge on the first iteration!
If we first decide that we want to sink 10 instructions,
but then determine that 5'th one is unprofitable to sink,
that may result in us not sinking some instructions that
resulted in determining that some other instruction
we've determined to be profitable to sink becoming unprofitable.

So we need to iterate until we converge, as in determine
that all leftover instructions are profitable to sink.

But, the direct approach of just re-iterating seems dumb,
because in the worst case we'd find that the last instruction
is unprofitable, which would result in revisiting instructions
many many times.

Instead, i think we can get away with just two passes - forward and backward.
However then it isn't obvious what is the most performant way to update
InstructionsToSink.
2021-04-29 21:11:40 +03:00
..
AArch64 [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
AMDGPU [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
ARM Reland "[SimplifyCFG] Update FoldBranchToCommonDest to be poison-safe" 2021-03-23 09:19:53 +09:00
Hexagon [NFC][SimplifyCFG] Autogenerate check lines in few more tests 2021-04-28 00:35:44 +03:00
Mips [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PowerPC [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
RISCV [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
SPARC [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
X86 [SimplifyCFG] Common code sinking: fix application of profitability check 2021-04-29 21:11:40 +03:00
1elt-ptr-vec-alignment-crash.ll [Analysis] isDereferenceableAndAlignedPointer(): don't crash on `bitcast <1 x ???*> to ???*` 2020-06-27 18:30:59 +03:00
2002-05-21-PHIElimination.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2002-09-24-PHIAssertion.ll
2003-03-07-DominateProblem.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2003-08-05-InvokeCrash.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2003-08-17-BranchFold.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2003-08-17-BranchFoldOrdering.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2003-08-17-FoldSwitch-dbg.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2003-08-17-FoldSwitch.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
2004-12-10-SimplifyCFGCrash.ll [SimplifyCFG] Teach FoldCondBranchOnPHI() to preserve DomTree 2020-12-30 00:48:11 +03:00
2005-06-16-PHICrash.ll [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 1 2020-12-30 00:48:10 +03:00
2005-08-01-PHIUpdateFail.ll [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1 2021-01-01 03:25:22 +03:00
2005-10-02-InvokeSimplify.ll [SimplifyCFG] Teach mergeEmptyReturnBlocks() to preserve DomTree 2020-12-17 01:03:50 +03:00
2005-12-03-IncorrectPHIFold.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2006-02-17-InfiniteUnroll.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2006-06-12-InfLoop.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2006-08-03-Crash.ll [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1 2021-01-01 03:25:22 +03:00
2006-10-19-UncondDiv.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2006-12-08-Ptr-ICmp-Branch.ll [SimplifyCFG] Teach FoldBranchToCommonDest() to preserve DomTree, part 1 2020-12-20 00:18:36 +03:00
2007-11-22-InvokeNoUnwind.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2007-12-21-Crash.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2008-01-02-hoist-fp-add.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
2008-05-16-PHIBlockMerge.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2008-07-13-InfLoopMiscompile.ll [SimplifyCFG] Teach SimplifyCondBranchToCondBranch() to preserve DomTree 2020-12-30 00:48:12 +03:00
2008-09-08-MultiplePred.ll [SimplifyCFG] Teach SimplifyCondBranchToTwoReturns() to preserve DomTree, part 1 2020-12-20 00:18:35 +03:00
2008-09-17-SpeculativeHoist.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2008-10-03-SpeculativelyExecuteBeforePHI.ll
2008-12-06-SingleEntryPhi.ll [SimplifyCFG] DeleteDeadBlock() already knows how to preserve DomTree 2020-12-18 00:37:21 +03:00
2008-12-16-DCECond.ll [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 2 2021-01-01 03:25:24 +03:00
2009-01-18-PHIPropCrash.ll [SimplifyCFG] DeleteDeadBlock() already knows how to preserve DomTree 2020-12-18 00:37:21 +03:00
2009-05-12-externweak.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2011-03-08-UnreachableUse.ll [SimplifyCFG] ConstantFoldTerminator() already knows how to preserve DomTree 2020-12-18 00:37:22 +03:00
2011-09-05-TrivialLPad.ll [SimplifyCFG] Teach simplifySingleResume() to preserve DomTree 2020-12-20 00:18:34 +03:00
BrUnwind.ll [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +03:00
ConditionalTrappingConstantExpr.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
DeadSetCC.ll [SimplifyCFG] Regenerate test checks (NFC) 2021-01-23 21:24:54 +01:00
EmptyBlockMerge.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
EqualPHIEdgeBlockMerge.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree preservation, take 2 2021-01-03 01:45:48 +03:00
FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase.ll [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree preservation 2021-01-03 01:45:48 +03:00
FoldValueComparisonIntoPredecessors-no-new-successors.ll [SimplifyCFG] FoldValueComparisonIntoPredecessors(): drop reachable errneous assert 2021-01-07 18:05:04 +03:00
ForwardSwitchConditionToPHI.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
HoistCode.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
InfLoop.ll [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 2 2020-12-30 00:48:10 +03:00
PHINode.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PR9946.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
PR16069.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PR17073.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PR25267.ll [SimplifyCFG] DeleteDeadBlock() already knows how to preserve DomTree 2020-12-18 00:37:21 +03:00
PR27615-simplify-cond-br.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PhiBlockMerge.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
PhiBlockMerge2.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PhiEliminate.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
PhiEliminate2.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
PhiEliminate3.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
PhiNoEliminate.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
SimplifyEqualityComparisonWithOnlyPredecessor-domtree-preservation-edgecase.ll [SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): really don't delete DomTree edges multiple times 2021-01-06 01:52:39 +03:00
SimplifyTerminatorOnSelect-domtree-preservation-edgecase.ll [SimplifyCFG] SimplifyTerminatorOnSelect(): fix/tune DomTree updates 2021-01-04 01:02:02 +03:00
UncondBranchToHeader.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
UncondBranchToReturn.ll [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +03:00
UnreachableEliminate.ll [SimplifyCFG] Update passingValueIsAlwaysUndefined to check more attributes 2021-02-24 10:40:50 +09:00
annotations.ll Reland "[SimplifyCFG] Update FoldBranchToCommonDest to be poison-safe" 2021-03-23 09:19:53 +09:00
assume.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
attr-convergent.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
attr-noduplicate.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
basictest.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
bbi-23595.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
branch-cond-merge.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
branch-cond-prop.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
branch-fold-dbg.ll [SimplifyCFG] Teach FoldBranchToCommonDest() to preserve DomTree, part 1 2020-12-20 00:18:36 +03:00
branch-fold-test.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
branch-fold-three.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
branch-fold-threshold.ll [SimplifyCFG] Teach FoldBranchToCommonDest() to preserve DomTree, part 1 2020-12-20 00:18:36 +03:00
branch-fold.ll [SimplifyCFG] FoldBranchToCommonDest(): don't deal with unconditional branches 2021-01-22 17:22:49 +03:00
branch-phi-thread.ll [SimplifyCFG] Teach FoldCondBranchOnPHI() to preserve DomTree 2020-12-30 00:48:11 +03:00
callbr-destinations.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
change-to-unreachable-matching-successor.ll [NFC][SimplifyCFG] Add a test with an undef cond branch to identical destinations 2021-01-08 02:15:26 +03:00
clamp.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
common-code-hoisting.ll [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false. 2021-04-13 10:33:35 +01:00
common-dest-folding.ll Reland "[SimplifyCFG] Update FoldBranchToCommonDest to be poison-safe" 2021-03-23 09:19:53 +09:00
commondest-loopid.ll [SimplifyCFG] Preserve metadata when unconditionalizing branches (same target). 2021-04-26 17:23:01 -05:00
constantexprs.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
convergent.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
dbginfo.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
dce-cond-after-folding-terminator.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
debug-info-thread-phi.ll [SimplifyCFG] Teach FoldCondBranchOnPHI() to preserve DomTree 2020-12-30 00:48:11 +03:00
div-rem-pairs.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
drop-debug-loc-when-speculating.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
duplicate-landingpad.ll [SimplifyCFG] Teach TryToMergeLandingPad() to preserve DomTree 2020-12-20 00:18:36 +03:00
duplicate-phis.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
duplicate-ret-into-uncond-br.ll [SimplifyCFG] simplifySingleResume(): FoldReturnIntoUncondBranch() already knows how to preserve DomTree 2020-12-20 00:18:34 +03:00
empty-catchpad.ll [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree 2020-12-18 00:37:22 +03:00
extract-cost.ll [SimplifyCFG] Teach SimplifyCondBranchToCondBranch() to preserve DomTree 2020-12-30 00:48:12 +03:00
fold-branch-to-common-dest-two-preds-cost.ll [SimplifyCFG] 'Fold branch to common dest': don't overestimate the cost 2021-03-23 18:30:26 +03:00
fold-branch-to-common-dest.ll [SimplifyCFG] FoldBranchToCommonDest(): properly handle same-block external uses (PR49510/PR49689) 2021-03-23 17:37:28 +03:00
fold-debug-info.ll [SimplifyCFG] Teach SimplifyCondBranchToTwoReturns() to preserve DomTree, part 2 2020-12-20 00:18:36 +03:00
fold-debug-location.ll Reland "[SimplifyCFG] Update FoldBranchToCommonDest to be poison-safe" 2021-03-23 09:19:53 +09:00
gepcost.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
guards.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
hoist-common-code.ll [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +03:00
hoist-dbgvalue-inlined.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
hoist-dbgvalue.ll [SimplifyCFG] Skip dbg intrinsics when checking for branch-only BBs. 2021-04-17 15:17:50 +01:00
hoist-with-range.ll [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +03:00
implied-and-or.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
implied-cond-matching-false-dest.ll [SimplifyCFG] ConstantFoldTerminator() already knows how to preserve DomTree 2020-12-18 00:37:22 +03:00
implied-cond-matching-imm.ll [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 2 2020-12-30 00:48:10 +03:00
implied-cond-matching.ll [SimplifyCFG] ConstantFoldTerminator() already knows how to preserve DomTree 2020-12-18 00:37:22 +03:00
implied-cond.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
indirectbr.ll [NFC][SimlifyCFG] Add some indirectbr-of-blockaddress tests 2021-01-08 02:15:25 +03:00
inline-asm-sink.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
invoke.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
invoke_unwind.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
invoke_unwind_lifetime.ll [SimplifyCFG] Teach simplifyCommonResume() to preserve DomTree 2020-12-20 00:18:34 +03:00
iterative-simplify.ll [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 2 2020-12-30 00:48:10 +03:00
lifetime-landingpad.ll [SimplifyCFG] Teach simplifySingleResume() to preserve DomTree 2020-12-20 00:18:34 +03:00
lifetime.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
merge-cond-stores-2.ll [SimplifyCFG] Teach mergeConditionalStoreToAddress() to preserve DomTree 2020-12-30 00:48:11 +03:00
merge-cond-stores.ll Reland "[InstCombine] Add simplification of two logical and/ors" 2021-03-23 16:24:50 +09:00
merge-default.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
merge-duplicate-conditional-ret-val.ll [SimplifyCFG] Teach SimplifyCondBranchToTwoReturns() to preserve DomTree, part 1 2020-12-20 00:18:35 +03:00
merge-empty-return-blocks.ll [SimplifyCFG] Teach mergeEmptyReturnBlocks() to preserve DomTree 2020-12-17 01:03:50 +03:00
multiple-phis.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
no-md-sink.ll Mark type test intrinsics as speculatable to fix inline cost 2021-04-23 10:02:31 -07:00
no_speculative_loads_with_asan.ll [NFC][SimplifyCFG] Autogenerate check lines in few more tests 2021-04-28 00:35:44 +03:00
no_speculative_loads_with_tsan.ll [NFC][SimplifyCFG] Autogenerate check lines in few more tests 2021-04-28 00:35:44 +03:00
nomerge.ll [NFC][Tests][SimplifyCFG] Trim whitespaces at the end of lines 2020-12-16 00:38:00 +03:00
noreturn-call.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
opt-for-fuzzing.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
phi-to-select-constexpr-icmp.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
phi-undef-loadstore.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
poison-merge.ll [SimplifyCFG] avoid illegal phi with both poison and undef 2021-02-27 09:10:32 -05:00
pr33605.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
pr34131.ll [SimplifyCFG] Teach SimplifyCondBranchToCondBranch() to preserve DomTree 2020-12-30 00:48:12 +03:00
pr35774.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
pr39807.ll [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +03:00
pr46638.ll [SimplifyCFG] Teach FoldCondBranchOnPHI() to preserve DomTree 2020-12-30 00:48:11 +03:00
pr48778-sdiv-speculation.ll [ValueTracking] Fix isSafeToSpeculativelyExecute for sdiv (PR48778) 2021-01-17 20:06:17 +01:00
pr50060-constantfold-loopid.ll [SimplifyCFG] Preserve metadata when unconditionalizing branches (constant condition). 2021-04-26 10:57:31 -05:00
preserve-branchweights-partial.ll [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1 2021-01-01 03:25:22 +03:00
preserve-branchweights-switch-create.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
preserve-branchweights.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
preserve-llvm-loop-metadata.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
preserve-load-metadata-2.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
preserve-load-metadata-3.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
preserve-load-metadata.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
preserve-make-implicit-on-switch-to-br.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
preserve-store-alignment.ll [NFC][SimplifyCFG] Autogenerate check lines in few more tests 2021-04-28 00:35:44 +03:00
rangereduce.ll [SimplifyCFG] Teach SwitchToLookupTable() to preserve DomTree 2020-12-30 23:58:41 +03:00
return-merge.ll [SimplifyCFG] Teach mergeEmptyReturnBlocks() to preserve DomTree 2020-12-17 01:03:50 +03:00
safe-abs.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
seh-nounwind.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
select-gep.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
signbit-like-value-extension.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
simplifyUnreachable-degenerate-conditional-branch-with-matching-destinations.ll [SimplifyCFG] simplifyUnreachable(): fix handling of degenerate same-destination conditional branch 2021-01-06 01:52:36 +03:00
sink-inf-loop.ll [SimplifyCFG] avoid sinking insts within an infinite-loop 2021-03-12 08:04:57 -05:00
speculate-call.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
speculate-dbgvalue.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
speculate-math.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
speculate-store.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
speculate-vector-ops-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
speculate-vector-ops.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
speculate-with-offset.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
statepoint-invoke-unwind.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
suppress-zero-branch-weights.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
switch-dead-default.ll [SimplifyCFG] Teach eliminateDeadSwitchCases() to preserve DomTree, part 2 2021-01-02 01:01:18 +03:00
switch-masked-bits.ll [SimplifyCFG] Teach eliminateDeadSwitchCases() to preserve DomTree, part 1 2021-01-01 03:25:24 +03:00
switch-on-const-select.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
switch-profmd.ll [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree 2020-12-18 00:37:22 +03:00
switch-range-to-icmp.ll [SimplifyCFG] SUCCESS! Teach createUnreachableSwitchDefault() to preserve DomTree 2021-01-01 03:25:25 +03:00
switch-simplify-crash.ll [SimplifyCFG] Teach eliminateDeadSwitchCases() to preserve DomTree, part 1 2021-01-01 03:25:24 +03:00
switch-to-br.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
switch-to-icmp.ll [SimplifyCFG] DeleteDeadBlock() already knows how to preserve DomTree 2020-12-18 00:37:21 +03:00
switch-to-select-multiple-edge-per-block-phi.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
switch-to-select-two-case.ll [SimplifyCFG] Handle two equal cases in switch to select 2021-04-04 17:27:28 +02:00
switchToSelect-domtree-preservation-edgecase.ll [SimplifyCFG] switchToSelect(): don't forget to insert DomTree edge iff needed 2021-01-15 23:35:57 +03:00
switch_create-custom-dl.ll [SimplifyCFG] Make test more robust (NFC) 2021-04-04 17:14:59 +02:00
switch_create.ll [SimplifyCFG] Make test more robust (NFC) 2021-04-04 17:14:59 +02:00
switch_msan.ll [SimplifyCFG] Teach SimplifyBranchOnICmpChain() to preserve DomTree 2020-12-30 23:58:40 +03:00
switch_switch_fold.ll [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 2 2021-01-01 03:25:24 +03:00
switch_thread.ll [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 3 2021-01-01 03:25:23 +03:00
switch_undef.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
tail-merge-assert.ll [NFC][SimplifyCFG] Precommit SimplifyCFG tests from D29428 2021-04-28 00:35:44 +03:00
tail-merge-noreturn.ll [NFC][SimplifyCFG] Precommit SimplifyCFG tests from D29428 2021-04-28 00:35:44 +03:00
trap-debugloc.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
trap-no-null-opt-debugloc.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
trapping-load-unreachable.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
two-entry-phi-fold-crash.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
two-entry-phi-return.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
unprofitable-pr.ll [SimplifyCFG] Teach FoldCondBranchOnPHI() to preserve DomTree 2020-12-30 00:48:11 +03:00
unreachable-cleanuppad.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
unreachable-matching-successor.ll [NFC][SimplifyCFG] Add test with an unreachable block with two identical successors 2021-01-08 02:15:25 +03:00
unreachable-selfloop.ll [SimplifyCFG] removeUnreachableBlocks() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
unreachable_assume.ll [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree 2020-12-18 00:37:22 +03:00
unsigned-multiplication-will-overflow.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
volatile-phioper.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
wc-widen-block.ll [SimplifyCFG] Teach tryWidenCondBranchToCondBranch() to preserve DomTree 2021-01-02 01:01:17 +03:00
wineh-unreachable.ll [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree 2020-12-18 00:37:22 +03:00