LLVM API Documentation

llvm::FunctionPassManager Class Reference

#include <PassManager.h>

Collaboration diagram for llvm::FunctionPassManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FunctionPassManager (ModuleProvider *P)
 ~FunctionPassManager ()
void add (FunctionPass *P)
void add (ImmutablePass *IP)
bool run (Function &F)

Detailed Description

Definition at line 53 of file PassManager.h.


Constructor & Destructor Documentation

FunctionPassManager::FunctionPassManager ( ModuleProvider P  ) 

Definition at line 95 of file Pass.cpp.

FunctionPassManager::~FunctionPassManager (  ) 

Definition at line 97 of file Pass.cpp.


Member Function Documentation

void FunctionPassManager::add ( ImmutablePass IP  ) 

add - ImmutablePasses are not FunctionPasses, so we have a special hack to get them into a FunctionPassManager.

Definition at line 99 of file Pass.cpp.

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

void FunctionPassManager::add ( FunctionPass P  ) 

add - Add a pass to the queue of passes to run. This passes ownership of the FunctionPass to the PassManager. When the PassManager is destroyed, the pass will be destroyed as well, so there is no need to delete the pass. This implies that all passes MUST be allocated with 'new'.

Definition at line 98 of file Pass.cpp.

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

Referenced by llvm::X86TargetMachine::addPassesToEmitMachineCode(), llvm::SparcV9TargetMachine::addPassesToEmitMachineCode(), llvm::PPCTargetMachine::addPassesToEmitMachineCode(), llvm::AlphaTargetMachine::addPassesToEmitMachineCode(), llvm::X86JITInfo::addPassesToJITCompile(), llvm::PPCJITInfo::addPassesToJITCompile(), and llvm::AlphaJITInfo::addPassesToJITCompile().

bool FunctionPassManager::run ( Function F  ) 

run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the function, and if so, return true.

Definition at line 100 of file Pass.cpp.

References abort(), F, llvm::ModuleProvider::materializeFunction(), and llvm::FunctionPass::run().


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