LLVM API Documentation
#include <Pass.h>


Public Member Functions | |
| FunctionPass (char &pid) | |
| Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
| createPrinterPass - Get a function printer pass. | |
| virtual bool | runOnFunction (Function &F)=0 |
| virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
| virtual PassManagerType | getPotentialPassManagerType () const |
| Return what kind of Pass Manager can manage this pass. | |
FunctionPass class - This class is used to implement most global optimizations. Optimizations should subclass this class if they meet the following constraints:
1. Optimizations are organized globally, i.e., a function at a time 2. Optimizing a function does not cause the addition or removal of any functions in the module
| llvm::FunctionPass::FunctionPass | ( | char & | pid | ) | [inline, explicit] |
| void FunctionPass::assignPassManager | ( | PMStack & | PMS, |
| PassManagerType | PreferredType | ||
| ) | [virtual] |
Find appropriate Function Pass Manager or Call Graph Pass Manager in the PM Stack and add self into that manager.
Reimplemented from llvm::Pass.
Definition at line 1836 of file PassManager.cpp.
References llvm::PMDataManager::add(), llvm::PMTopLevelManager::addIndirectPassManager(), llvm::ModulePass::assignPassManager(), llvm::PMStack::empty(), llvm::PMDataManager::getPassManagerType(), llvm::PMT_FunctionPassManager, llvm::PMStack::pop(), llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMStack::push(), and llvm::PMStack::top().
| Pass * FunctionPass::createPrinterPass | ( | raw_ostream & | O, |
| const std::string & | Banner | ||
| ) | const [virtual] |
createPrinterPass - Get a function printer pass.
Implements llvm::Pass.
Definition at line 131 of file Pass.cpp.
References llvm::createPrintFunctionPass().
| PassManagerType FunctionPass::getPotentialPassManagerType | ( | ) | const [virtual] |
Return what kind of Pass Manager can manage this pass.
Reimplemented from llvm::Pass.
Definition at line 136 of file Pass.cpp.
References llvm::PMT_FunctionPassManager.
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
Implemented in llvm::DependenceAnalysis, llvm::ScalarEvolution, llvm::DominatorTree, llvm::RegionInfo, llvm::LoopInfo, llvm::MemoryDependenceAnalysis, llvm::DominanceFrontier, llvm::RGPassManager, llvm::InstCombiner, llvm::LPPassManager, llvm::LazyValueInfo, llvm::IntervalPartition, llvm::DOTGraphTraitsPrinter< Analysis, Simple >, llvm::LibCallAliasAnalysis, llvm::BranchProbabilityInfo, llvm::UnifyFunctionExitNodes, llvm::BlockFrequencyInfo, llvm::NVPTXAllocaHoisting, llvm::PostDominatorTree, llvm::NVPTXLowerAggrCopies, llvm::NVPTXSplitBBatBar, and llvm::DOTGraphTraitsViewer< Analysis, Simple >.
Referenced by llvm::FPPassManager::runOnFunction().