public class LoopFragmentInside extends LoopFragment
Modifier and Type | Field and Description |
---|---|
private Graph.DuplicationReplacement |
dataFixBefore |
private Map<ValuePhiNode,ValueNode> |
mergedInitializers
mergedInitializers.
|
nodes, nodesReady
Constructor and Description |
---|
LoopFragmentInside(LoopEx loop) |
LoopFragmentInside(LoopFragmentInside original) |
Modifier and Type | Method and Description |
---|---|
void |
appendInside(LoopEx loop) |
private void |
clearStateNodes(StateSplit stateSplit) |
LoopFragmentInside |
duplicate() |
NodeIterable<LoopExitNode> |
exits() |
protected void |
finishDuplication() |
protected Graph.DuplicationReplacement |
getDuplicationReplacement() |
void |
insertBefore(LoopEx loop) |
LoopEx |
loop() |
private static void |
markStateNodes(StateSplit stateSplit,
NodeBitMap marks) |
private AbstractBeginNode |
mergeEnds() |
NodeBitMap |
nodes() |
LoopFragmentInside |
original() |
private void |
patchPeeling(LoopFragmentInside peel) |
private static PhiNode |
patchPhi(StructuredGraph graph,
PhiNode phi,
AbstractMergeNode merge) |
protected ValueNode |
prim(ValueNode b)
Gets the corresponding value in this fragment.
|
computeNodes, computeNodes, contains, disconnect, getDuplicatedNode, graph, isDuplicate, mergeEarlyExits, patchNodes, putDuplicatedNode, toHirBlocks, toHirExits
private Map<ValuePhiNode,ValueNode> mergedInitializers
private final Graph.DuplicationReplacement dataFixBefore
public LoopFragmentInside(LoopEx loop)
public LoopFragmentInside(LoopFragmentInside original)
public LoopFragmentInside duplicate()
duplicate
in class LoopFragment
public LoopFragmentInside original()
original
in class LoopFragment
public void appendInside(LoopEx loop)
public LoopEx loop()
loop
in class LoopFragment
public void insertBefore(LoopEx loop)
insertBefore
in class LoopFragment
public NodeBitMap nodes()
nodes
in class LoopFragment
private void clearStateNodes(StateSplit stateSplit)
public NodeIterable<LoopExitNode> exits()
protected Graph.DuplicationReplacement getDuplicationReplacement()
getDuplicationReplacement
in class LoopFragment
protected void finishDuplication()
finishDuplication
in class LoopFragment
private static PhiNode patchPhi(StructuredGraph graph, PhiNode phi, AbstractMergeNode merge)
private void patchPeeling(LoopFragmentInside peel)
private static void markStateNodes(StateSplit stateSplit, NodeBitMap marks)
protected ValueNode prim(ValueNode b)
prim
in class LoopFragment
b
- original valueprivate AbstractBeginNode mergeEnds()