public class DominatorTree extends Object
flowgraph
.Modifier and Type | Class and Description |
---|---|
static class |
DominatorTree.Multimap<T>
Multimap maps a key to a set of values.
|
Constructor and Description |
---|
DominatorTree(Collection<? extends IBasicBlock> roots)
Construct a DominatorTree from a collection of "roots."
|
DominatorTree(IBasicBlock root)
Construct a DominatorTree from a root.
|
Modifier and Type | Method and Description |
---|---|
DominatorTree.Multimap<IBasicBlock> |
getDominanceFrontiers()
Compute and/or fetch the dominance frontiers as a Multimap.
|
DominatorTree.Multimap<IBasicBlock> |
getDominatorTree()
Compute and/or fetch the dominator tree as a Multimap.
|
Map<IBasicBlock,IBasicBlock> |
getIdoms()
Create and/or fetch the map of immediate dominators.
|
Iterable<IBasicBlock> |
reverseTopologicalTraversal()
Create and/or fetch a reverse topological traversal of the dominator tree,
such that for every node, node appears before idom(node).
|
List<IBasicBlock> |
topologicalTraversal()
Create and/or fetch a topological traversal of the dominator tree,
such that for every node, idom(node) appears before node.
|
public DominatorTree(IBasicBlock root)
root
- the root of the graph.public DominatorTree(Collection<? extends IBasicBlock> roots)
roots
- the collection of roots; one of these is
the true root of the flowgraph, the others are exception
handlers that would otherwise be unreachable.public Map<IBasicBlock,IBasicBlock> getIdoms()
public DominatorTree.Multimap<IBasicBlock> getDominatorTree()
public DominatorTree.Multimap<IBasicBlock> getDominanceFrontiers()
public List<IBasicBlock> topologicalTraversal()
public Iterable<IBasicBlock> reverseTopologicalTraversal()
Copyright © 2016 The Apache Software Foundation. All rights reserved.