LLVM API Documentation
#include <Dominators.h>
Inheritance diagram for llvm::DominatorTreeBase:
Public Member Functions | |
DominatorTreeBase (bool isPostDom) | |
~DominatorTreeBase () | |
virtual void | releaseMemory () |
Node * | getNode (BasicBlock *BB) const |
Node * | operator[] (BasicBlock *BB) const |
Node * | getRootNode () |
const Node * | getRootNode () const |
Node * | createNewNode (BasicBlock *BB, Node *IDomNode) |
void | changeImmediateDominator (Node *N, Node *NewIDom) |
virtual void | print (std::ostream &OS) const |
Protected Types | |
typedef std::map< BasicBlock *, Node * > | NodeMapType |
Protected Member Functions | |
void | reset () |
Protected Attributes | |
std::map< BasicBlock *, Node * > | Nodes |
Node * | RootNode |
Classes | |
class | Node |
Definition at line 280 of file Dominators.h.
|
Definition at line 285 of file Dominators.h. |
|
Definition at line 327 of file Dominators.h. |
|
Definition at line 328 of file Dominators.h. References reset(). |
|
changeImmediateDominator - This method is used to update the dominator tree information when a node's immediate dominator changes. Definition at line 371 of file Dominators.h. References llvm::DominatorTreeBase::Node::setIDom(). |
|
createNewNode - Add a new node to the dominator tree information. This creates a new node as a child of IDomNode, linking it into the children list of the immediate dominator. Definition at line 362 of file Dominators.h. References llvm::DominatorTreeBase::Node::addChild(), getNode(), and Nodes. |
|
getNode - return the (Post)DominatorTree node for the specified basic block. This is the same as using operator[] on this class. Definition at line 335 of file Dominators.h. References Nodes. Referenced by createNewNode(), and operator[](). |
|
Definition at line 352 of file Dominators.h. References RootNode. |
|
getRootNode - This returns the entry node for the CFG of the function. If this tree represents the post-dominance relations for a function, however, this root may be a node with the block == NULL. This is the case when there are multiple exit nodes from a particular function. Consumers of post-dominance information must be capable of dealing with this possibility. Definition at line 351 of file Dominators.h. References RootNode. Referenced by llvm::GraphTraits< DominatorTree * >::getEntryNode(), print(), and llvm::PostDominanceFrontier::runOnFunction(). |
|
Definition at line 340 of file Dominators.h. References getNode(). |
|
print - Convert to human readable form Reimplemented from llvm::Pass. Definition at line 411 of file Dominators.cpp. References getRootNode(), and PrintDomTree(). |
|
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. The default behavior of passes is to hold onto memory for the entire duration of their lifetime (which is the entire compile time). For pipelined passes, this is not a big deal because that memory gets recycled every time the pass is invoked on another program unit. For IP passes, it is more important to free memory when it is unused. Optionally implement this function to release pass memory when it is no longer used. Reimplemented from llvm::Pass. Definition at line 330 of file Dominators.h. References reset(). |
|
Definition at line 336 of file Dominators.cpp. References E, I, Nodes, and RootNode. Referenced by releaseMemory(), llvm::PostDominatorTree::runOnFunction(), llvm::DominatorTree::runOnFunction(), and ~DominatorTreeBase(). |
|
Definition at line 281 of file Dominators.h. Referenced by createNewNode(), getNode(), and reset(). |
|
Definition at line 287 of file Dominators.h. Referenced by getRootNode(), and reset(). |