Keep track if analysis made available by the pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31664 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2006-11-11 01:10:19 +00:00
parent e0351b9a22
commit b852616255
2 changed files with 30 additions and 5 deletions

View File

@ -19,6 +19,7 @@
#include "llvm/Pass.h"
#include <vector>
#include <set>
namespace llvm {
@ -106,9 +107,12 @@ public:
/// Return true IFF AnalysisID AID is currently available.
bool analysisCurrentlyAvailable(AnalysisID AID);
/// Augment RequiredSet by adding analysis required by pass P.
/// Augment RequiredAnalysis by adding analysis required by pass P.
void noteDownRequiredAnalysis(Pass *P);
/// Augment AvailableAnalysis by adding analysis made available by pass P.
void noteDownAvailableAnalysis(Pass *P);
/// Remove AnalysisID from the RequiredSet
void removeAnalysis(AnalysisID AID);
@ -121,6 +125,9 @@ public:
private:
// Analysis required by the passes managed by this manager
std::vector<AnalysisID> RequiredAnalysis;
// set of available Analysis
std::set<AnalysisID> AvailableAnalysis;
};
/// PassManager_New manages ModulePassManagers