virtual bool runOnMachineFunction(MachineFunction &MF)
MachineDomTreeNode * getRootNode() const
MachineBasicBlock * findNearestCommonDominator(MachineBasicBlock *A, MachineBasicBlock *B)
virtual void getAnalysisUsage(AnalysisUsage &AU) const
MachinePostDominatorTree()
FunctionPass * createMachinePostDominatorTreePass()
bool properlyDominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const
MachineDomTreeNode * getNode(MachineBasicBlock *BB) const
bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const
MachineDomTreeNode * operator[](MachineBasicBlock *BB) const
bool properlyDominates(const MachineDomTreeNode *A, const MachineDomTreeNode *B) const
bool dominates(const MachineDomTreeNode *A, const MachineDomTreeNode *B) const
virtual void print(llvm::raw_ostream &OS, const Module *M=0) const
const std::vector< MachineBasicBlock * > & getRoots() const
~MachinePostDominatorTree()