public class ConstantTree extends PrintableDominatorOptimizationProblem<ConstantTree.Flags,ConstantTree.NodeCost>
Modifier and Type | Class and Description |
---|---|
static class |
ConstantTree.Flags |
static class |
ConstantTree.NodeCost
Costs associated with a block.
|
Constructor and Description |
---|
ConstantTree(AbstractControlFlowGraph<?> cfg,
org.graalvm.compiler.lir.constopt.DefUseTree tree) |
Modifier and Type | Method and Description |
---|---|
void |
forEachPropertyPair(AbstractBlockBase<?> block,
BiConsumer<String,String> action)
Applies
action to all extra property pairs (name, value) of block . |
String |
getName(ConstantTree.Flags type)
Returns the name of a flag.
|
AbstractBlockBase<?> |
getStartBlock() |
List<org.graalvm.compiler.lir.constopt.UseEntry> |
getUsages(AbstractBlockBase<?> block) |
boolean |
isLeafBlock(AbstractBlockBase<?> block) |
boolean |
isMarked(AbstractBlockBase<?> block) |
void |
markBlocks() |
void |
setSolution(AbstractBlockBase<?> block) |
int |
size() |
long |
subTreeSize() |
void |
traverseTreeWhileTrue(AbstractBlockBase<?> block,
Predicate<AbstractBlockBase<?>> action) |
get, getBlockForId, getBlocks, getCost, getFlags, getFlagsForBlock, set, setCost, setDominatorPath, stream
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBlocks
public ConstantTree(AbstractControlFlowGraph<?> cfg, org.graalvm.compiler.lir.constopt.DefUseTree tree)
public List<org.graalvm.compiler.lir.constopt.UseEntry> getUsages(AbstractBlockBase<?> block)
public String getName(ConstantTree.Flags type)
DominatorOptimizationProblem
getName
in class DominatorOptimizationProblem<ConstantTree.Flags,ConstantTree.NodeCost>
public void forEachPropertyPair(AbstractBlockBase<?> block, BiConsumer<String,String> action)
PrintableCFG
action
to all extra property pairs (name, value) of block
.forEachPropertyPair
in interface PrintableCFG
forEachPropertyPair
in class PrintableDominatorOptimizationProblem<ConstantTree.Flags,ConstantTree.NodeCost>
block
- a block from PrintableCFG.getBlocks()
.action
- a consumer
.public long subTreeSize()
public AbstractBlockBase<?> getStartBlock()
public void markBlocks()
public boolean isMarked(AbstractBlockBase<?> block)
public boolean isLeafBlock(AbstractBlockBase<?> block)
public void setSolution(AbstractBlockBase<?> block)
public int size()
public void traverseTreeWhileTrue(AbstractBlockBase<?> block, Predicate<AbstractBlockBase<?>> action)