LLVM API Documentation
#include <PostDominators.h>
Inheritance diagram for llvm::PostETForest:
Public Member Functions | |
PostETForest () | |
virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
virtual bool | runOnFunction (Function &F) |
void | calculate (const ImmediatePostDominators &ID) |
ETNode * | getNodeForBlock (BasicBlock *BB) |
Definition at line 90 of file PostDominators.h.
llvm::PostETForest::PostETForest | ( | ) | [inline] |
Definition at line 91 of file PostDominators.h.
void PostETForest::calculate | ( | const ImmediatePostDominators & | ID | ) |
Definition at line 286 of file PostDominators.cpp.
References llvm::ETNode::assignDFSNumber(), BB, llvm::ETForestBase::DFSInfoValid, E, getNodeForBlock(), llvm::ETNode::hasFather(), I, llvm::idf_begin(), llvm::idf_end(), llvm::ETForestBase::Nodes, llvm::DominatorBase::Roots, and llvm::ETNode::setFather().
Referenced by runOnFunction().
virtual void llvm::PostETForest::getAnalysisUsage | ( | AnalysisUsage & | AU | ) | const [inline, virtual] |
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.
Reimplemented from llvm::ETForestBase.
Definition at line 93 of file PostDominators.h.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
ETNode * PostETForest::getNodeForBlock | ( | BasicBlock * | BB | ) |
Definition at line 264 of file PostDominators.cpp.
References BB, llvm::ETForestBase::Nodes, and llvm::ETNode::setFather().
Referenced by calculate().
virtual bool llvm::PostETForest::runOnFunction | ( | Function & | F | ) | [inline, virtual] |
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
Implements llvm::FunctionPass.
Definition at line 98 of file PostDominators.h.
References calculate(), llvm::ETForestBase::reset(), and llvm::DominatorBase::Roots.