Make some of PMTopLevelManager's members non-public. In particular,

make its constructor protected.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111193 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-08-16 22:03:47 +00:00
parent b85b31b300
commit 9fb7d04cfc

View File

@ -163,21 +163,26 @@ private:
/// PMTopLevelManager manages LastUser info and collects common APIs used by
/// top level pass managers.
class PMTopLevelManager {
public:
protected:
explicit PMTopLevelManager(PMDataManager *PMDM);
virtual unsigned getNumContainedManagers() const {
return (unsigned)PassManagers.size();
}
void initializeAllAnalysisInfo();
private:
/// This is implemented by top level pass manager and used by
/// schedulePass() to add analysis info passes that are not available.
virtual void addTopLevelPass(Pass *P) = 0;
public:
/// 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.
void schedulePass(Pass *P);
/// This is implemented by top level pass manager and used by
/// schedulePass() to add analysis info passes that are not available.
virtual void addTopLevelPass(Pass *P) = 0;
/// Set pass P as the last user of the given analysis passes.
void setLastUser(SmallVector<Pass *, 12> &AnalysisPasses, Pass *P);
@ -192,7 +197,6 @@ public:
/// Find analysis usage information for the pass P.
AnalysisUsage *findAnalysisUsage(Pass *P);
explicit PMTopLevelManager(PMDataManager *PMDM);
virtual ~PMTopLevelManager();
/// Add immutable pass and initialize it.
@ -219,8 +223,6 @@ public:
void dumpPasses() const;
void dumpArguments() const;
void initializeAllAnalysisInfo();
// Active Pass Managers
PMStack activeStack;