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
- public AnalysisResolver()
- public AnalysisResolver(llvm::PMDataManager & P)
- public void addAnalysisImplsPair(llvm::AnalysisID PI, llvm::Pass * P)
- public void clearAnalysisImpls()
- public llvm::Pass * findImplPass(llvm::AnalysisID PI)
- public std::tuple<Pass *, bool> findImplPass(llvm::Pass * P, llvm::AnalysisID PI, llvm::Function & F)
- public llvm::Pass * getAnalysisIfAvailable(llvm::AnalysisID ID) const
- public llvm::PMDataManager & getPMDataManager()
Methods
¶AnalysisResolver()
AnalysisResolver()
Declared at: llvm/include/llvm/PassAnalysisSupport.h:159
¶AnalysisResolver(llvm::PMDataManager& P)
AnalysisResolver(llvm::PMDataManager& P)
Declared at: llvm/include/llvm/PassAnalysisSupport.h:160
Parameters
¶void addAnalysisImplsPair(llvm::AnalysisID PI,
llvm::Pass* 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()
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)
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)
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
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()
llvm::PMDataManager& getPMDataManager()
Declared at: llvm/include/llvm/PassAnalysisSupport.h:162