class PassManager

Declaration

class PassManager : public PassManagerBase { /* full declaration omitted */ };

Description

PassManager manages ModulePassManagers

Declared at: llvm/include/llvm/IR/LegacyPassManager.h:52

Inherits from: PassManagerBase

Member Variables

private llvm::legacy::PassManagerImpl* PM
PassManagerImpl_New is the actual class. PassManager is just the wraper to publish simple pass manager interface

Method Overview

Inherited from PassManagerBase:

Methods

PassManager()

Declared at: llvm/include/llvm/IR/LegacyPassManager.h:55

void add(llvm::Pass* P)

Description

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'.

Declared at: llvm/include/llvm/IR/LegacyPassManager.h:58

Parameters

llvm::Pass* P

bool run(llvm::Module& M)

Description

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.

Declared at: llvm/include/llvm/IR/LegacyPassManager.h:62

Parameters

llvm::Module& M

~PassManager()

Declared at: llvm/include/llvm/IR/LegacyPassManager.h:56