LLVM API Documentation

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

virtual bool runOnModule (Module &M)=0
virtual bool runPass (Module &M)
virtual bool runPass (BasicBlock &)
virtual void addToPassManager (ModulePassManager *PM, AnalysisUsage &AU)

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 218 of file Pass.h.


Member Function Documentation

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::CallTargetFinder, llvm::LocalDataStructures, llvm::BUDataStructures, llvm::TDDataStructures, llvm::CompleteBUDataStructures, llvm::EquivClassGraphs, llvm::FindUsedTypes, llvm::PrintModulePass, llvm::WriteBytecodePass, llvm::CallGraphSCCPass, llvm::ImmutablePass, llvm::FunctionPass, and llvm::ModulePassManager.

Referenced by llvm::ModulePassManager::runPass(), and runPass().

virtual bool llvm::ModulePass::runPass ( Module M  )  [inline, virtual]

runPass - Run this pass, returning true if a modification was made to the module argument. This should be implemented by all concrete subclasses.

Reimplemented from llvm::Pass.

Reimplemented in llvm::BasicBlockPass.

Definition at line 224 of file Pass.h.

References M, and runOnModule().

virtual bool llvm::ModulePass::runPass ( BasicBlock  )  [inline, virtual]

Reimplemented from llvm::Pass.

Reimplemented in llvm::BasicBlockPass.

Definition at line 225 of file Pass.h.

void ModulePass::addToPassManager ( ModulePassManager PM,
AnalysisUsage AU 
) [virtual]

Definition at line 190 of file Pass.cpp.

References llvm::PassManagerT< Trait >::addPass().


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