LLVM API Documentation
#include <PassManager.h>
Collaboration diagram for llvm::FunctionPassManager:
Public Member Functions | |
FunctionPassManager (ModuleProvider *P) | |
~FunctionPassManager () | |
void | add (FunctionPass *P) |
void | add (ImmutablePass *IP) |
bool | run (Function &F) |
Definition at line 53 of file PassManager.h.
FunctionPassManager::FunctionPassManager | ( | ModuleProvider * | P | ) |
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().