LLVM 20.0.0git
|
PassManager manages ModulePassManagers. More...
#include "llvm/IR/LegacyPassManager.h"
Public Member Functions | |
PassManager () | |
Create new pass manager. | |
~PassManager () override | |
void | add (Pass *P) override |
Add a pass to the queue of passes to run. | |
bool | run (Module &M) |
run - Execute all of the passes scheduled for execution. | |
Public Member Functions inherited from llvm::legacy::PassManagerBase | |
virtual | ~PassManagerBase () |
virtual void | add (Pass *P)=0 |
Add a pass to the queue of passes to run. | |
PassManager manages ModulePassManagers.
Definition at line 52 of file LegacyPassManager.h.
llvm::legacy::PassManager::PassManager | ( | ) |
Create new pass manager.
Definition at line 1633 of file LegacyPassManager.cpp.
References llvm::PMDataManager::setTopLevelManager().
|
override |
Definition at line 1639 of file LegacyPassManager.cpp.
|
overridevirtual |
Add a pass to the queue of passes to run.
This passes ownership of the Pass 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 may even destroy the pass right away if it is found to be redundant. This implies that all passes MUST be allocated with 'new'.
Implements llvm::legacy::PassManagerBase.
Reimplemented in llvm::DebugifyCustomPassManager.
Definition at line 1643 of file LegacyPassManager.cpp.
References llvm::legacy::PassManagerImpl::add(), and P.
Referenced by llvm::DebugifyCustomPassManager::add(), and codegen().
run - Execute all of the passes scheduled for execution.
Keep track of whether any of the passes modifies the module, and if so, return true.
Definition at line 1649 of file LegacyPassManager.cpp.
References llvm::legacy::PassManagerImpl::run().
Referenced by codegen(), llvm::MCJIT::emitObject(), and llvm::orc::SimpleCompiler::operator()().