LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::legacy::PassManager Class Reference

PassManager manages ModulePassManagers. More...

#include "llvm/IR/LegacyPassManager.h"

Inheritance diagram for llvm::legacy::PassManager:
Inheritance graph
[legend]
Collaboration diagram for llvm::legacy::PassManager:
Collaboration graph
[legend]

Public Member Functions

 PassManager ()
 Create new pass manager. More...
 
 ~PassManager () override
 
void add (Pass *P) override
 Add a pass to the queue of passes to run. More...
 
bool run (Module &M)
 run - Execute all of the passes scheduled for execution. More...
 
- Public Member Functions inherited from llvm::legacy::PassManagerBase
virtual ~PassManagerBase ()
 

Detailed Description

PassManager manages ModulePassManagers.

Definition at line 49 of file LegacyPassManager.h.

Constructor & Destructor Documentation

◆ PassManager()

PassManager::PassManager ( )

Create new pass manager.

Definition at line 1708 of file LegacyPassManager.cpp.

◆ ~PassManager()

PassManager::~PassManager ( )
override

Definition at line 1714 of file LegacyPassManager.cpp.

Member Function Documentation

◆ add()

void PassManager::add ( Pass P)
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.

Definition at line 1718 of file LegacyPassManager.cpp.

Referenced by llvm::lto::Config::addSaveTemps(), llvm::LTOCodeGenerator::compileOptimized(), llvm::lintModule(), and llvm::LTOCodeGenerator::optimize().

◆ run()

bool PassManager::run ( Module M)

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 1724 of file LegacyPassManager.cpp.

References EnableTiming, llvm::cl::location(), and llvm::TimePassesIsEnabled.

Referenced by llvm::lto::Config::addSaveTemps(), codegen(), llvm::LTOCodeGenerator::compileOptimized(), llvm::MCJIT::emitObject(), llvm::lintModule(), LLVMTargetMachineEmit(), llvm::orc::SimpleCompiler::operator()(), and llvm::LTOCodeGenerator::optimize().


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