class AnalysisResolver

Declaration

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

Description

AnalysisResolver - Simple interface used by Pass objects to pull all analysis information out of pass manager that is responsible to manage the pass.

Declared at: llvm/include/llvm/PassAnalysisSupport.h:157

Member Variables

private std::vector<std::pair<AnalysisID, Pass*>> AnalysisImpls
This keeps track of which passes implements the interfaces that are required by the current pass (to implement getAnalysis()).
private llvm::PMDataManager& PM
PassManager that is used to resolve analysis info

Method Overview

Methods

AnalysisResolver()

Declared at: llvm/include/llvm/PassAnalysisSupport.h:159

AnalysisResolver(llvm::PMDataManager& P)

Declared at: llvm/include/llvm/PassAnalysisSupport.h:160

Parameters

llvm::PMDataManager& P

void addAnalysisImplsPair(llvm::AnalysisID PI,
                          llvm::Pass* P)

Declared at: llvm/include/llvm/PassAnalysisSupport.h:179

Parameters

llvm::AnalysisID PI
llvm::Pass* P

void clearAnalysisImpls()

Description

Clear cache that is used to connect a pass to the analysis (PassInfo).

Declared at: llvm/include/llvm/PassAnalysisSupport.h:187

llvm::Pass* findImplPass(llvm::AnalysisID PI)

Description

Find pass that is implementing PI.

Declared at: llvm/include/llvm/PassAnalysisSupport.h:165

Parameters

llvm::AnalysisID PI

std::tuple<Pass*, bool> findImplPass(
    llvm::Pass* P,
    llvm::AnalysisID PI,
    llvm::Function& F)

Description

Find pass that is implementing PI. Initialize pass for Function F.

Declared at: llvm/include/llvm/PassAnalysisSupport.h:177

Parameters

llvm::Pass* P
llvm::AnalysisID PI
llvm::Function& F

llvm::Pass* getAnalysisIfAvailable(
    llvm::AnalysisID ID) const

Description

Return analysis result or null if it doesn't exist.

Declared at: llvm/include/llvm/PassAnalysisSupport.h:192

Parameters

llvm::AnalysisID ID

llvm::PMDataManager& getPMDataManager()

Declared at: llvm/include/llvm/PassAnalysisSupport.h:162