llvm-project/llvm/test/Transforms/IROutliner
Andrew Litteken 4e500df89e [IROutliner] Fix phi nodes when self referential within block but doesn't contain branch
When outlining a phi node, if the the incoming branch is a block contained in the region and the branch from that block is not outlined, we create broken code. The fix is to recognize when that branch from the included incoming block is not contained, and ignore the region.

Reviewer: paquette

Differential Revision: https://reviews.llvm.org/D121311
2022-03-21 11:05:15 -05:00
..
different-intrinsics.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
different-order-phi-merges.ll [IROutliner] Ensure merged PHINodes respect order and incoming blocks, not just incoming values 2022-03-14 16:48:21 -05:00
duplicate-merging-phis.ll [IROutliner] Avoid reusing PHINodes that have already been matched when merging outlined functions' phi node blocks 2022-03-14 12:00:01 -05:00
exit-block-phi-node-value-attribution.ll [IROutliner] Separate split PHI nodes from multiple exits by different outlinable regions. 2022-03-14 14:56:59 -05:00
extraction.ll
gvn-output-set-overload.ll [IROutliner] Allowing Phi Nodes in exit blocks 2022-01-25 11:33:53 -06:00
illegal-allocas.ll
illegal-assumes.ll
illegal-branches.ll
illegal-callbr.ll
illegal-catchpad.ll
illegal-cleanup.ll
illegal-frozen.ll
illegal-indirect-calls.ll [IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type 2022-01-25 15:19:28 -06:00
illegal-invoke.ll
illegal-landingpad.ll
illegal-memcpy.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
illegal-memmove.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
illegal-memset.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
illegal-phi-nodes.ll
illegal-returns-twice.ll [IROutliner] Disallow outlining calls that return twice. 2022-01-25 13:09:30 -06:00
illegal-vaarg.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
included-phi-nodes-begin.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
included-phi-nodes-end.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
legal-debug.ll
legal-indirect-calls.ll [IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type 2022-01-25 15:19:28 -06:00
mismatched-phi-exits-not-in-first-outlined.ll [IROutliner] Allowing Phi Nodes in exit blocks 2022-01-25 11:33:53 -06:00
mismatched-phi-exits.ll [IROutliner] Allowing Phi Nodes in exit blocks 2022-01-25 11:33:53 -06:00
mismatched-phi-outputs-ordering.ll [IROutliner] Allowing Phi Nodes in exit blocks 2022-01-25 11:33:53 -06:00
must-capture-all-phi-nodes-begin.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
must-capture-all-phi-nodes-end.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
no-outlining-optnone.ll [IROutliner] Do not outlined from functions with optnone 2022-03-20 23:39:23 -05:00
opt-remarks.ll
outline-memcpy.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
outline-memmove.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
outline-memset.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
outline-vaarg-intrinsic.ll [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions 2022-01-28 13:52:21 -06:00
outlining-across-branch.ll
outlining-address-taken.ll
outlining-basic-branches.ll [IRSim] Make sure the first instruction of a block doesn't get missed if it is the first valid instruction in Module. 2022-03-13 23:13:09 -05:00
outlining-bitcasts.ll
outlining-branches-phi-nodes.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
outlining-call-and-indirect.ll [IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type 2022-01-25 15:19:28 -06:00
outlining-calls-names-must-match.ll [IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type 2022-01-25 15:19:28 -06:00
outlining-calls.ll [IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type 2022-01-25 15:19:28 -06:00
outlining-commutative-fp.ll
outlining-commutative-operands-opposite-order.ll
outlining-commutative.ll
outlining-compatible-and-attribute-transfer.ll
outlining-compatible-or-attribute-transfer.ll
outlining-constants-vs-registers.ll
outlining-cost-model.ll
outlining-debug-statements.ll
outlining-different-constants.ll
outlining-different-globals.ll
outlining-different-output-blocks.ll
outlining-different-structure.ll
outlining-exits-to-phi-node.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
outlining-first-instruction.ll [IRSim] Make sure the first instruction of a block doesn't get missed if it is the first valid instruction in Module. 2022-03-13 23:13:09 -05:00
outlining-gep.ll
outlining-isomorphic-predicates.ll
outlining-multiple-exits-diff-outputs.ll
outlining-multiple-exits-one-output-set.ll
outlining-multiple-exits.ll
outlining-musttail.ll [IRSim][IROutliner] Ignoring Musttail Function 2022-03-13 19:27:25 -05:00
outlining-no-return-functions.ll [IRSim] Make sure the first instruction of a block doesn't get missed if it is the first valid instruction in Module. 2022-03-13 23:13:09 -05:00
outlining-odr.ll
outlining-remapped-outputs.ll
outlining-same-constants.ll
outlining-same-globals.ll
outlining-same-output-blocks.ll
outlining-strip-loop-info.ll [IROutliner] Make sure that loop debug info is stripped. 2022-03-17 14:41:53 -06:00
outlining-swift-error.ll
outlining-swifttailcc.ll [IRSim][IROutliner] Ignoring Musttail Function 2022-03-13 19:27:25 -05:00
outlining-tailcc.ll [IRSim][IROutliner] Ignoring Musttail Function 2022-03-13 19:27:25 -05:00
phi-nodes-non-constant.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00
phi-nodes-output-overload.ll [IROutliner] Allowing Phi Nodes in exit blocks 2022-01-25 11:33:53 -06:00
phi-nodes-parent-block-referential.ll [IROutliner] Fix phi nodes when self referential within block but doesn't contain branch 2022-03-21 11:05:15 -05:00
phi-nodes-simple.ll [IRSim] Make sure the first instruction of a block doesn't get missed if it is the first valid instruction in Module. 2022-03-13 23:13:09 -05:00
region-end-of-module.ll
region-inputs-in-phi-nodes.ll [IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region. 2022-01-25 18:25:50 -06:00