15 #ifndef LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H
16 #define LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H
40 const std::vector<MachineBasicBlock *> &
getRoots()
const {
41 return DT->getRoots();
45 return DT->getRootNode();
49 return DT->getNode(BB);
53 return DT->getNode(BB);
58 return DT->dominates(A, B);
62 return DT->dominates(A, B);
67 return DT->properlyDominates(A, B);
72 return DT->properlyDominates(A, B);
77 return DT->findNearestCommonDominator(A, B);
MachineDomTreeNode * getRootNode() const
A Module instance is used to store all the information related to an LLVM module. ...
MachineBasicBlock * findNearestCommonDominator(MachineBasicBlock *A, MachineBasicBlock *B)
~MachinePostDominatorTree() override
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
MachinePostDominatorTree()
Base class for the actual dominator tree node.
FunctionPass * createMachinePostDominatorTreePass()
Core dominator tree base class.
bool properlyDominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const
MachineDomTreeNode * getNode(MachineBasicBlock *BB) const
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
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
PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominat...
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
void print(llvm::raw_ostream &OS, const Module *M=nullptr) const override
print - Print out the internal state of the pass.
This class implements an extremely fast bulk output stream that can only output to a stream...
const std::vector< MachineBasicBlock * > & getRoots() const