class PMTopLevelManager

Declaration

class PMTopLevelManager { /* full declaration omitted */ };

Description

PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:160

Member Variables

public llvm::PMStack activeStack
protected SmallVector<llvm::PMDataManager*, 8> PassManagers
Collection of pass managers

Method Overview

Methods

PMTopLevelManager(llvm::PMDataManager* PMDM)

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:162

Parameters

llvm::PMDataManager* PMDM

void addImmutablePass(llvm::ImmutablePass* P)

Description

Add immutable pass and initialize it.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:200

Parameters

llvm::ImmutablePass* P

inline void addIndirectPassManager(
    llvm::PMDataManager* Manager)

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:212

Parameters

llvm::PMDataManager* Manager

void addPassManager(llvm::PMDataManager* Manager)

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:206

Parameters

llvm::PMDataManager* Manager

void collectLastUses(
    SmallVectorImpl<llvm::Pass*>& LastUses,
    llvm::Pass* P)

Description

Collect passes whose last user is P

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:184

Parameters

SmallVectorImpl<llvm::Pass*>& LastUses
llvm::Pass* P

void dumpArguments() const

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:218

void dumpPasses() const

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:217

llvm::Pass* findAnalysisPass(llvm::AnalysisID AID)

Description

Find the pass that implements Analysis AID. Search immutable passes and all pass managers. If desired pass is not found then return NULL.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:189

Parameters

llvm::AnalysisID AID

const llvm::PassInfo* findAnalysisPassInfo(
    llvm::AnalysisID AID) const

Description

Retrieve the PassInfo for an analysis.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:192

Parameters

llvm::AnalysisID AID

llvm::AnalysisUsage* findAnalysisUsage(
    llvm::Pass* P)

Description

Find analysis usage information for the pass P.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:195

Parameters

llvm::Pass* P

inline SmallVectorImpl<llvm::ImmutablePass*>&
getImmutablePasses()

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:202

unsigned int getNumContainedManagers() const

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:164

void initializeAllAnalysisInfo()

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:168

void schedulePass(llvm::Pass* P)

Description

Schedule pass P for execution. Make sure that passes required by P are run before P is run. Update analysis info maintained by the manager. Remove dead passes. This is a recursive function.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:178

Parameters

llvm::Pass* P

void setLastUser(
    ArrayRef<llvm::Pass*> AnalysisPasses,
    llvm::Pass* P)

Description

Set pass P as the last user of the given analysis passes.

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:181

Parameters

ArrayRef<llvm::Pass*> AnalysisPasses
llvm::Pass* P

virtual ~PMTopLevelManager()

Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:197