Lines Matching refs:Pass

1 //===- llvm/PassAnalysisSupport.h - Analysis Pass Support code --*- C++ -*-===//
11 // This file is automatically #included by Pass.h, so:
15 // Instead, #include Pass.h
24 #include "llvm/Pass.h"
35 // Pass infrastructure through the getAnalysisUsage virtual function.
77 // addPreserved - Add the specified Pass class to the set of analyses
86 // addPreserved - Add the Pass with the specified argument string to the set
87 // of analyses preserved by this pass. If no such Pass exists, do nothing.
116 // AnalysisResolver - Simple interface used by Pass objects to pull all
131 Pass *findImplPass(AnalysisID PI) {
132 Pass *ResultPass = nullptr;
143 Pass *findImplPass(Pass *P, AnalysisID PI, Function &F);
145 void addAnalysisImplsPair(AnalysisID PI, Pass *P) {
148 std::pair<AnalysisID, Pass*> pir = std::make_pair(PI,P);
159 Pass *getAnalysisIfAvailable(AnalysisID ID, bool Direction) const;
164 std::vector<std::pair<AnalysisID, Pass*> > AnalysisImpls;
179 AnalysisType *Pass::getAnalysisIfAvailable() const {
180 assert(Resolver && "Pass not resident in a PassManager object!");
184 Pass *ResultPass = Resolver->getAnalysisIfAvailable(PI, true);
199 AnalysisType &Pass::getAnalysis() const {
200 assert(Resolver && "Pass has not been inserted into a PassManager object!");
205 AnalysisType &Pass::getAnalysisID(AnalysisID PI) const {
207 assert(Resolver&&"Pass has not been inserted into a PassManager object!");
211 Pass *ResultPass = Resolver->findImplPass(PI);
228 AnalysisType &Pass::getAnalysis(Function &F) {
229 assert(Resolver &&"Pass has not been inserted into a PassManager object!");
235 AnalysisType &Pass::getAnalysisID(AnalysisID PI, Function &F) {
237 assert(Resolver && "Pass has not been inserted into a PassManager object!");
241 Pass *ResultPass = Resolver->findImplPass(this, PI, F);