LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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
bool runPass (Module &M)
virtual void addToPassManager (PassManagerT< Module > *PM, AnalysisUsage &AU)

Detailed Description

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

Definition at line 214 of file Pass.h.


Member Function Documentation

void ModulePass::addToPassManager PassManagerT< Module > *  PM,
AnalysisUsage AU
[virtual]
 

Definition at line 195 of file Pass.cpp.

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

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::CallGraph, llvm::LocalDataStructures, llvm::BUDataStructures, llvm::TDDataStructures, llvm::CompleteBUDataStructures, llvm::FindUnsafePointerTypes, llvm::FindUsedTypes, llvm::PrintModulePass, llvm::WriteBytecodePass, llvm::CallGraphSCCPass, llvm::ImmutablePass, llvm::FunctionPass, llvm::IPModRef, llvm::MemoryDepAnalysis, llvm::PgmDependenceGraph, and llvm::PassManagerTraits< Module >.

Referenced by llvm::PassManagerTraits< Module >::runPass(), and runPass().

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.

Implements llvm::Pass.

Definition at line 220 of file Pass.h.

References runOnModule().


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