LLVM API Documentation
#include <Pass.h>
Public Member Functions | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const override |
createPrinterPass - Get a module printer pass. | |
virtual bool | runOnModule (Module &M)=0 |
void | assignPassManager (PMStack &PMS, PassManagerType T) override |
PassManagerType | getPotentialPassManagerType () const override |
Return what kind of Pass Manager can manage this pass. | |
ModulePass (char &pid) | |
virtual | ~ModulePass () |
ModulePass class - This class is used to implement unstructured interprocedural optimizations and analyses. ModulePasses may do anything they want to the program.
llvm::ModulePass::ModulePass | ( | char & | pid | ) | [inline, explicit] |
ModulePass::~ModulePass | ( | ) | [virtual] |
void ModulePass::assignPassManager | ( | PMStack & | PMS, |
PassManagerType | PreferredType | ||
) | [override, virtual] |
Find appropriate Module Pass Manager in the PM Stack and add self into that manager.
Reimplemented from llvm::Pass.
Definition at line 1846 of file LegacyPassManager.cpp.
References llvm::PMDataManager::add(), llvm::PMStack::empty(), llvm::PMDataManager::getPassManagerType(), llvm::PMT_ModulePassManager, llvm::PMStack::pop(), and llvm::PMStack::top().
Referenced by llvm::FunctionPass::assignPassManager().
Pass * ModulePass::createPrinterPass | ( | raw_ostream & | O, |
const std::string & | Banner | ||
) | const [override, virtual] |
createPrinterPass - Get a module printer pass.
Implements llvm::Pass.
Definition at line 39 of file Pass.cpp.
References llvm::createPrintModulePass().
PassManagerType ModulePass::getPotentialPassManagerType | ( | ) | const [override, virtual] |
Return what kind of Pass Manager can manage this pass.
Reimplemented from llvm::Pass.
Definition at line 44 of file Pass.cpp.
References llvm::PMT_ModulePassManager.
virtual bool llvm::ModulePass::runOnModule | ( | Module & | M | ) | [pure virtual] |
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Implemented in llvm::FPPassManager, llvm::CallGraphWrapperPass, llvm::ImmutablePass, llvm::DOTGraphTraitsModulePrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::DOTGraphTraitsModuleViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::DebugIR, llvm::FindUsedTypes, llvm::JumpInstrTables, llvm::Mips16HardFloat, and llvm::MipsOs16.