llvm-project/llvm/test/Transforms/SimplifyCFG
Arthur Eubanks e7249e4acf [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest
When determining whether to fold branches to a common destination by
merging two blocks, SimplifyCFG will count the number of instructions to
be moved into the first basic block. However, there's no reason to count
free instructions like bitcasts and other similar instructions.

This resolves missed branch foldings with -fstrict-vtable-pointers in
llvm-test-suite's lambda benchmark.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D108837
2021-09-22 09:52:37 -07: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 [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
Hexagon [SimplifyCFG] SwitchToLookupTable(): don't increase ret count 2021-07-26 23:29:55 +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] Enable switch to lookup table for more types. 2021-08-03 15:35:16 -07: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 Teach SimplifyCFG to fold switches into lookup tables in more cases. 2021-09-15 22:07:08 +00:00
1elt-ptr-vec-alignment-crash.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02: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 [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
ConditionalTrappingConstantExpr.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
DeadSetCC.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03: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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
FoldValueComparisonIntoPredecessors-no-new-successors.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
ForwardSwitchConditionToPHI.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
HoistCode.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +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] SimplifyCondBranchToTwoReturns(): really only deal with different ret blocks 2021-07-23 00:36:59 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
PhiEliminate.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
SimplifyEqualityComparisonWithOnlyPredecessor-domtree-preservation-edgecase.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
UnreachableEliminate.ll [SimplifyCFG] Look for control flow changes instead of side effects. 2021-05-03 13:32:22 -07: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 [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
bbi-23595.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
branch-cond-merge.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
branch-cond-prop.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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 [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
branch-fold.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
branch-phi-thread.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +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
cleanup-phis.ll [SimplifyCFG] Use make_early_inc_range() while deleting instructions 2021-05-26 11:43:11 -07: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 [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
dbginfo.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
duplicate-phis.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
empty-catchpad.ll [NFC][SimplifyCFG] Autogenerate checklines in a few tests 2021-07-02 22:35:24 +03:00
extract-cost.ll [SimplifyCFG] SimplifyCondBranchToTwoReturns(): really only deal with different ret blocks 2021-07-23 00:36:59 +03:00
fold-branch-to-common-dest-free-cost.ll [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest 2021-09-22 09:52:37 -07:00
fold-branch-to-common-dest-two-preds-cost.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
fold-branch-to-common-dest.ll [SimplifyCFG] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-09 12:28:09 +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
fold-two-entry-phi-node-with-one-block-profmd.ll [SimplifyCFG] Don't speculatively execute BB[s] if they are predictably not taken 2021-07-26 02:55:15 +03:00
fold-two-entry-phi-node-with-two-blocks-profmd.ll [SimplifyCFG] Don't speculatively execute BB[s] if they are predictably not taken 2021-07-26 02:55:15 +03: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 [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
hoist-common-code.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
hoist-dbgvalue-inlined.ll [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03:00
hoist-dbgvalue.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
hoist-from-addresstaken-block.ll [SimplifyCFG] FoldTwoEntryPHINode(): don't fold if either block has it's address taken 2021-06-20 12:37:14 +03: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 [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +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 [Local] Do not introduce a new `llvm.trap` before `unreachable` 2021-07-26 23:33:36 -05: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 [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +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] If FoldTwoEntryPHINode() changed things, restart 2021-08-12 20:03:09 +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] Drop support for duplicating ret's into uncond predecessors 2021-07-26 23:29:21 +03:00
merge-empty-return-blocks.ll [SimplifyCFG] Teach mergeEmptyReturnBlocks() to preserve DomTree 2020-12-17 01:03:50 +03:00
multiple-phis.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
no-md-sink.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02: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] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
pr46638.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
pr48641.ll [NFC] Added testcase for PR48641 2021-09-04 10:44:39 +02:00
pr48778-sdiv-speculation.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
pr50060-constantfold-loopid.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02: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 [SimplifyCFG] Fold branch to common dest: if branch is unpredictable, prefer to speculate 2021-07-26 02:57:19 +03:00
preserve-llvm-loop-metadata.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02: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] Enable switch to lookup table for more types. 2021-08-03 15:35:16 -07:00
return-merge.ll [SimplifyCFG] Drop support for duplicating ret's into uncond predecessors 2021-07-26 23:29:21 +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(): erase instructions iff they are guaranteed to transfer execution to unreachable 2021-07-03 10:45:44 +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 Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04: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-opaque-pointer.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
speculate-store.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02: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
speculatively-execute-block-profmd.ll [SimplifyCFG] Don't speculatively execute BB if it's predictably not taken 2021-07-26 02:55:14 +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 [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
switch-dead-default.ll [NFCI][SimplifyCFG] Rewrite `createUnreachableSwitchDefault()` 2021-08-20 13:28:08 +03:00
switch-masked-bits.ll [NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging 2021-06-23 14:33:18 +03:00
switch-on-const-select.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +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] simplifyUnreachable(): erase instructions iff they are guaranteed to transfer execution to unreachable 2021-07-03 10:45:44 +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] Fix SimplifyBranchOnICmpChain to be undef/poison safe. 2021-07-13 15:35:18 +09:00
switch_create.ll [SimplifyCFG] Fix SimplifyBranchOnICmpChain to be undef/poison safe. 2021-07-13 15:35:18 +09:00
switch_msan.ll [SimplifyCFG] Fix SimplifyBranchOnICmpChain to be undef/poison safe. 2021-07-13 15:35:18 +09:00
switch_switch_fold.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
switch_thread.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
switch_ub.ll [SimplifyCFG] Redirect switch cases that lead to UB into an unreachable block 2021-09-21 10:45:19 +07:00
switch_undef.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02: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
tail-merge-resume.ll [SimplifyCFG] Tail-merging all blocks with `resume` terminator 2021-06-24 21:25:06 +03:00
tautological-conditional-branch.ll [SimplifyCFG] Preserve knowledge about guarding condition by adding assume 2021-09-08 14:05:17 +07:00
trap-debugloc.ll [Local] Do not introduce a new `llvm.trap` before `unreachable` 2021-07-26 23:33:36 -05: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 [Local] Do not introduce a new `llvm.trap` before `unreachable` 2021-07-26 23:33:36 -05: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-node.ll [SimplifyCFG] FoldTwoEntryPHINode(): bailout on inverted logical and/or (PR51149) 2021-07-22 22:19:34 +03:00
two-entry-phi-return.ll [SimplifyCFG] avoid crash on degenerate loop 2021-06-11 09:37:06 -04:00
unprofitable-pr.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02: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 [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
wineh-unreachable.ll [NFC][SimplifyCFG] Autogenerate checklines in a few tests 2021-07-02 22:35:24 +03:00