LLVM API Documentation

Public Member Functions | Static Public Attributes
llvm::MachinePostDominatorTree Struct Reference

#include <MachinePostDominators.h>

Inheritance diagram for llvm::MachinePostDominatorTree:
Inheritance graph
[legend]
Collaboration diagram for llvm::MachinePostDominatorTree:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MachinePostDominatorTree ()
 ~MachinePostDominatorTree ()
FunctionPasscreateMachinePostDominatorTreePass ()
const std::vector
< MachineBasicBlock * > & 
getRoots () const
MachineDomTreeNodegetRootNode () const
MachineDomTreeNodeoperator[] (MachineBasicBlock *BB) const
MachineDomTreeNodegetNode (MachineBasicBlock *BB) const
bool dominates (const MachineDomTreeNode *A, const MachineDomTreeNode *B) const
bool dominates (const MachineBasicBlock *A, const MachineBasicBlock *B) const
bool properlyDominates (const MachineDomTreeNode *A, const MachineDomTreeNode *B) const
bool properlyDominates (const MachineBasicBlock *A, const MachineBasicBlock *B) const
MachineBasicBlockfindNearestCommonDominator (MachineBasicBlock *A, MachineBasicBlock *B)
bool runOnMachineFunction (MachineFunction &MF) override
void getAnalysisUsage (AnalysisUsage &AU) const override
void print (llvm::raw_ostream &OS, const Module *M=nullptr) const override

Static Public Attributes

static char ID = 0

Detailed Description

PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominator tree.

Definition at line 27 of file MachinePostDominators.h.


Constructor & Destructor Documentation

Definition at line 42 of file MachinePostDominators.cpp.


Member Function Documentation

Definition at line 32 of file MachinePostDominators.cpp.

References MachinePostDominatorTree().

void MachinePostDominatorTree::getAnalysisUsage ( AnalysisUsage AU) const [override, virtual]

getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.

For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.

Reimplemented from llvm::MachineFunctionPass.

Definition at line 47 of file MachinePostDominators.cpp.

References llvm::AnalysisUsage::setPreservesAll().

Definition at line 40 of file MachinePostDominators.h.

References llvm::DominatorBase< NodeT >::getRoots().

MachineDomTreeNode* llvm::MachinePostDominatorTree::operator[] ( MachineBasicBlock BB) const [inline]
void MachinePostDominatorTree::print ( llvm::raw_ostream O,
const Module M = nullptr 
) const [override, virtual]

print - Print out the internal state of the pass. This is called by Analyze to print out the contents of an analysis. Otherwise it is not necessary to implement this method. Beware that the module pointer MAY be null. This automatically forwards to a virtual function that does not provide the Module* in case the analysis doesn't need it it can just be ignored.

Reimplemented from llvm::Pass.

Definition at line 53 of file MachinePostDominators.cpp.

References llvm::DominatorTreeBase< NodeT >::print().

runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.

Implements llvm::MachineFunctionPass.

Definition at line 37 of file MachinePostDominators.cpp.

References llvm::DominatorTreeBase< NodeT >::recalculate().


Member Data Documentation

char MachinePostDominatorTree::ID = 0 [static]

Definition at line 32 of file MachinePostDominators.h.


The documentation for this struct was generated from the following files: