public class LoopsData extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
LoopsData(ControlFlowGraph cfg,
List<LoopEx> loops,
org.graalvm.collections.EconomicMap<LoopBeginNode,LoopEx> loopBeginToEx) |
protected |
LoopsData(StructuredGraph graph) |
| Modifier and Type | Method and Description |
|---|---|
protected static boolean |
checkLoopOrder(Iterable<Loop<Block>> loops)
Checks that loops are ordered such that outer loops appear first.
|
List<LoopEx> |
countedLoops()
Get all counted loops.
|
void |
deleteUnusedNodes()
Deletes any nodes created within the scope of this object that have no usages.
|
void |
detectCountedLoops()
Perform counted loop detection for all loops which have not already been checked.
|
ControlFlowGraph |
getCFG()
Get the CFG this loops data is calculated from.
|
InductionVariable |
getInductionVariable(ValueNode value)
Get information for an induction variable, or null if not found in one of the loops.
|
List<LoopEx> |
innerFirst()
Get all loops, with inner loops ordered before outer loops.
|
LoopEx |
loop(Loop<Block> loop)
Get the
LoopEx corresponding to loop. |
LoopEx |
loop(LoopBeginNode loopBegin)
Get the
LoopEx corresponding to loopBegin. |
List<LoopEx> |
loops()
Get all loops.
|
List<LoopEx> |
nonCountedLoops()
Get all non-counted loops.
|
List<LoopEx> |
outerFirst()
Get all loops, with outer loops ordered before inner loops.
|
protected LoopsData(ControlFlowGraph cfg, List<LoopEx> loops, org.graalvm.collections.EconomicMap<LoopBeginNode,LoopEx> loopBeginToEx)
protected LoopsData(StructuredGraph graph)
protected static boolean checkLoopOrder(Iterable<Loop<Block>> loops)
public LoopEx loop(LoopBeginNode loopBegin)
LoopEx corresponding to loopBegin.public List<LoopEx> outerFirst()
public List<LoopEx> innerFirst()
public List<LoopEx> nonCountedLoops()
LoopsData.detectCountedLoops().public List<LoopEx> countedLoops()
LoopsData.detectCountedLoops().public void detectCountedLoops()
public ControlFlowGraph getCFG()
public InductionVariable getInductionVariable(ValueNode value)
public void deleteUnusedNodes()