LLVM API Documentation
#include <MachineDominanceFrontier.h>
Definition at line 20 of file MachineDominanceFrontier.h.
typedef DominanceFrontierBase<MachineBasicBlock>::const_iterator llvm::MachineDominanceFrontier::const_iterator |
Definition at line 27 of file MachineDominanceFrontier.h.
typedef DominanceFrontierBase<MachineBasicBlock>::DomSetType llvm::MachineDominanceFrontier::DomSetType |
Definition at line 25 of file MachineDominanceFrontier.h.
Definition at line 24 of file MachineDominanceFrontier.h.
Definition at line 23 of file MachineDominanceFrontier.h.
Definition at line 26 of file MachineDominanceFrontier.h.
machine Machine Dominance Frontier true MachineDominanceFrontier::MachineDominanceFrontier | ( | ) |
Definition at line 32 of file MachineDominanceFrontier.cpp.
References llvm::PassRegistry::getPassRegistry(), and llvm::initializeMachineDominanceFrontierPass().
iterator llvm::MachineDominanceFrontier::addBasicBlock | ( | MachineBasicBlock * | BB, |
const DomSetType & | frontier | ||
) | [inline] |
Definition at line 76 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::addBasicBlock().
void llvm::MachineDominanceFrontier::addToFrontier | ( | iterator | I, |
MachineBasicBlock * | Node | ||
) | [inline] |
Definition at line 84 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::addToFrontier().
iterator llvm::MachineDominanceFrontier::begin | ( | ) | [inline] |
Definition at line 52 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::begin().
const_iterator llvm::MachineDominanceFrontier::begin | ( | ) | const [inline] |
Definition at line 56 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::begin().
bool llvm::MachineDominanceFrontier::compare | ( | DominanceFrontierBase< MachineBasicBlock > & | Other | ) | const [inline] |
Definition at line 96 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::compare().
bool llvm::MachineDominanceFrontier::compareDomSet | ( | DomSetType & | DS1, |
const DomSetType & | DS2 | ||
) | const [inline] |
Definition at line 92 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::compareDomSet().
iterator llvm::MachineDominanceFrontier::end | ( | ) | [inline] |
Definition at line 60 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::end().
const_iterator llvm::MachineDominanceFrontier::end | ( | ) | const [inline] |
Definition at line 64 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::end().
iterator llvm::MachineDominanceFrontier::find | ( | MachineBasicBlock * | B | ) | [inline] |
Definition at line 68 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::find().
const_iterator llvm::MachineDominanceFrontier::find | ( | MachineBasicBlock * | B | ) | const [inline] |
Definition at line 72 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::find().
void MachineDominanceFrontier::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 50 of file MachineDominanceFrontier.cpp.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
Definition at line 36 of file MachineDominanceFrontier.h.
Referenced by runOnMachineFunction().
MachineBasicBlock* llvm::MachineDominanceFrontier::getRoot | ( | ) | const [inline] |
Definition at line 44 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::getRoot().
const std::vector<MachineBasicBlock*>& llvm::MachineDominanceFrontier::getRoots | ( | ) | const [inline] |
Definition at line 40 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::getRoots().
bool llvm::MachineDominanceFrontier::isPostDominator | ( | ) | const [inline] |
Definition at line 48 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::isPostDominator().
void llvm::MachineDominanceFrontier::operator= | ( | const MachineDominanceFrontier & | ) |
void MachineDominanceFrontier::releaseMemory | ( | ) | [override, virtual] |
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 46 of file MachineDominanceFrontier.cpp.
References llvm::DominanceFrontierBase< BlockT >::releaseMemory().
Referenced by runOnMachineFunction().
void llvm::MachineDominanceFrontier::removeBlock | ( | MachineBasicBlock * | BB | ) | [inline] |
Definition at line 80 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::removeBlock().
void llvm::MachineDominanceFrontier::removeFromFrontier | ( | iterator | I, |
MachineBasicBlock * | Node | ||
) | [inline] |
Definition at line 88 of file MachineDominanceFrontier.h.
References llvm::DominanceFrontierBase< BlockT >::removeFromFrontier().
bool MachineDominanceFrontier::runOnMachineFunction | ( | MachineFunction & | MF | ) | [override, virtual] |
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.
Implements llvm::MachineFunctionPass.
Definition at line 40 of file MachineDominanceFrontier.cpp.
References llvm::ForwardDominanceFrontierBase< BlockT >::analyze(), getBase(), and releaseMemory().
char MachineDominanceFrontier::ID = 0 [static] |
Definition at line 32 of file MachineDominanceFrontier.h.