llvm-project/llvm/test/Transforms/SimplifyCFG
Roman Lebedev 295ba49330
[NFC][SimplifyCFG] Add some tests with PHI's for fold-branch-to-common-dest xform
2022-12-04 20:58:55 +03:00
..
AArch64
AMDGPU
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
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
X86 [IR] Switch everything to use memory attribute 2022-11-04 10:21:38 +01: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
2002-09-24-PHIAssertion.ll
2003-03-07-DominateProblem.ll
2003-08-05-InvokeCrash.ll
2003-08-17-BranchFold.ll
2003-08-17-BranchFoldOrdering.ll
2003-08-17-FoldSwitch-dbg.ll
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
2005-06-16-PHICrash.ll
2005-08-01-PHIUpdateFail.ll
2005-10-02-InvokeSimplify.ll
2005-12-03-IncorrectPHIFold.ll
2006-02-17-InfiniteUnroll.ll
2006-06-12-InfLoop.ll
2006-08-03-Crash.ll
2006-12-08-Ptr-ICmp-Branch.ll
2007-11-22-InvokeNoUnwind.ll
2007-12-21-Crash.ll
2008-01-02-hoist-fp-add.ll
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 [NFC] Re-autogenerate checklines in a few tests being affected 2022-12-04 20:58:55 +03:00
2008-09-08-MultiplePred.ll
2008-09-17-SpeculativeHoist.ll
2008-10-03-SpeculativelyExecuteBeforePHI.ll
2008-12-06-SingleEntryPhi.ll
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
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
2011-09-05-TrivialLPad.ll
BrUnwind.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
DeadSetCC.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03:00
EmptyBlockMerge.ll
EqualPHIEdgeBlockMerge.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +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 [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03:00
ForwardSwitchConditionToPHI.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03:00
HoistCode.ll [SimplifyCFG] Tail-merging all blocks with `ret` terminator 2021-06-24 13:15:39 +03:00
InfLoop.ll
PHINode.ll
PR9946.ll
PR25267.ll
PR27615-simplify-cond-br.ll
PhiBlockMerge.ll
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
PhiEliminate3.ll
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
UncondBranchToHeader.ll
UncondBranchToReturn.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
UnreachableEliminate.ll Revert "[SimplifyCFG] Start redesigning `FoldTwoEntryPHINode()`." 2022-02-03 12:32:50 +03:00
annotations.ll Reland "[SimplifyCFG] Update FoldBranchToCommonDest to be poison-safe" 2021-03-23 09:19:53 +09:00
assume.ll [SimplifyCFG] Allow speculating block containing assume() 2022-11-04 09:26:35 +01:00
attr-convergent.ll
attr-noduplicate.ll
basictest.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
bbi-23595.ll Revert "[SimplifyCFG] Start redesigning `FoldTwoEntryPHINode()`." 2022-02-03 12:32:50 +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 [Test] Regenerate checks using auto-update script 2021-10-28 15:13:43 +07:00
branch-fold-multiple.ll Revert "reland e5581df60a [SimplifyCFG] accumulate bonus insts cost" 2022-10-25 12:15:39 -04: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
branch-fold-threshold.ll Revert "reland e5581df60a [SimplifyCFG] accumulate bonus insts cost" 2022-10-25 12:15:39 -04: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
call-null.ll Utils: Fix deleting calls to null in non-0 address spaces 2022-11-23 08:49:44 -05:00
callbr-destinations.ll reland: [Local] Allow creating callbr with duplicate successors 2022-08-31 13:23:00 -07:00
change-to-unreachable-matching-successor.ll
clamp.ll
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
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
debug-info-thread-phi.ll
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
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-phis.ll [NFC][SimplifyCFG] Add some tests with PHI's for fold-branch-to-common-dest xform 2022-12-04 20:58:55 +03:00
fold-branch-to-common-dest-two-preds-cost.ll Revert "reland e5581df60a [SimplifyCFG] accumulate bonus insts cost" 2022-10-25 12:15:39 -04:00
fold-branch-to-common-dest.ll [NFC][SimplifyCFG] Add some tests with PHI's for fold-branch-to-common-dest xform 2022-12-04 20:58:55 +03:00
fold-debug-info.ll
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 [SimplifyCFG,EarlyCSE] Update 2 tests to not branch on undef (NFC). 2022-06-12 18:03:26 +01: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-common-skip-limit.ll [SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions 2022-09-05 15:13:46 +01:00
hoist-common-skip.ll [SimplifyCFG] Don't hoist allocas 2022-09-13 09:23:39 -07:00
hoist-dbgvalue-inlined.ll
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
implied-and-or.ll
implied-cond-matching-false-dest.ll
implied-cond-matching-imm.ll
implied-cond-matching.ll
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] Don't remove invoke of non-willreturn function 2022-05-30 15:37:46 +02: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
iterative-simplify.ll [NFC][SimplifyCFG] Fix tests to use FileCheck instead of grep 2021-06-21 23:56:54 +03:00
jump-threading.ll reland: [Local] Allow creating callbr with duplicate successors 2022-08-31 13:23:00 -07:00
lifetime-landingpad.ll
lifetime.ll
merge-cond-stores-2.ll Revert "[SimplifyCFG] Start redesigning `FoldTwoEntryPHINode()`." 2022-02-03 12:32:50 +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-deopt-bundle-constants.ll [Test] Add test demonstating how deopt bundle constants may be merged into instruction 2022-02-15 20:28:41 +07: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
multiple-phis.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
no-md-sink.ll Revert "[SimplifyCFG] Start redesigning `FoldTwoEntryPHINode()`." 2022-02-03 12:32:50 +03: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
nonintegral.ll [SimplifyCFG] teach simplifycfg not to introduce ptrtoint for NI pointers 2022-08-15 15:11:48 -04:00
noreturn-call.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
opaque-ptr.ll [SimplifyCFG][OpaquePtr] Check store type when merging conditional store 2022-02-20 11:29:54 -08:00
opt-for-fuzzing.ll
phi-to-select-constexpr-icmp.ll
phi-undef-loadstore.ll
poison-merge.ll
pr33605.ll
pr34131.ll
pr35774.ll
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
pr52290.ll [SimplifyCFG] Don't widen cond br if false branch has successors 2022-08-26 15:23:37 +07:00
pr55765.ll Revert "[SimplifyCFG] Thread branches on same condition in more cases (PR54980)" 2022-07-05 16:57:46 +02:00
preserve-branchweights-partial.ll
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 [IR] Switch everything to use memory attribute 2022-11-04 10:21:38 +01:00
preserve-llvm-loop-metadata.ll [SimplifyCFG][TranformUtils]Do not simplify away a trivial basic block if both this block and at least one of its predecessors are loop latches. 2022-09-28 10:48:14 -07:00
preserve-load-metadata-2.ll
preserve-load-metadata-3.ll
preserve-load-metadata.ll
preserve-make-implicit-on-switch-to-br.ll
preserve-store-alignment.ll Revert "[SimplifyCFG] Start redesigning `FoldTwoEntryPHINode()`." 2022-02-03 12:32:50 +03:00
rangereduce.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02: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
seh-nounwind.ll
select-gep.ll
signbit-like-value-extension.ll
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
speculate-call.ll Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04:00
speculate-dbgvalue.ll
speculate-math.ll
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-insert-extract.ll Clarify the behavior of the llvm.vector.insert/extract intrinsics when the index 2022-07-15 07:56:44 -07:00
speculate-vector-ops-inseltpoison.ll
speculate-vector-ops.ll
speculate-with-offset.ll
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 [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01: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 [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +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
switch-range-to-icmp.ll Prevent crash when TurnSwitchRangeIntoICmp receives default unreachable destination 2022-06-16 16:11:24 +02:00
switch-simplify-crash.ll
switch-to-br.ll
switch-to-icmp.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +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] Try to fold switch with single result value and power-of-2 cases to mask+select 2022-04-15 00:10:00 +08:00
switchToSelect-domtree-preservation-edgecase.ll
switch_create-custom-dl.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03:00
switch_create.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03: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
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 [SimplifyCFG] Allow speculating block containing assume() 2022-11-04 09:26:35 +01: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
undef_phi.ll [Test] Add test showing missing simplifycfg opportunity for Phi with undef inputs 2021-10-28 11:23:07 +07:00
unprofitable-pr.ll [CodeMetrics] Don't require speculatability for ephemeral values 2021-10-21 20:30:01 +02:00
unreachable-cleanuppad.ll
unreachable-matching-successor.ll
unreachable-selfloop.ll
unreachable_assume.ll
unsigned-multiplication-will-overflow.ll
volatile-phioper.ll [NFC][SimplifyCFG] Autogenerate check lines in many test files 2021-04-27 22:05:42 +03:00
wc-widen-block.ll Revert "[SimplifyCFG] Thread branches on same condition in more cases (PR54980)" 2022-07-05 16:57:46 +02:00
wineh-unreachable.ll [NFC][SimplifyCFG] Autogenerate checklines in a few tests 2021-07-02 22:35:24 +03:00