LLVM API Documentation

Public Member Functions
llvm::ModulePass Class Reference

#include <Pass.h>

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

List of all members.

Public Member Functions

PasscreatePrinterPass (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 ()

Detailed Description

ModulePass class - This class is used to implement unstructured interprocedural optimizations and analyses. ModulePasses may do anything they want to the program.

Definition at line 236 of file Pass.h.


Constructor & Destructor Documentation

llvm::ModulePass::ModulePass ( char &  pid) [inline, explicit]

Definition at line 251 of file Pass.h.

ModulePass::~ModulePass ( ) [virtual]

Definition at line 37 of file Pass.cpp.


Member Function Documentation

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().

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]

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