Changes in directory llvm/lib/VMCore:
PassManager.cpp updated: 1.41 -> 1.42 --- Log message: Add a handle to the top level pass manager in PMDataManager. --- Diffs of the changes: (+14 -1) PassManager.cpp | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletion(-) Index: llvm/lib/VMCore/PassManager.cpp diff -u llvm/lib/VMCore/PassManager.cpp:1.41 llvm/lib/VMCore/PassManager.cpp:1.42 --- llvm/lib/VMCore/PassManager.cpp:1.41 Thu Dec 7 13:39:39 2006 +++ llvm/lib/VMCore/PassManager.cpp Thu Dec 7 13:54:15 2006 @@ -160,7 +160,8 @@ LastUses.push_back(LUI->first); } - +//===----------------------------------------------------------------------===// +// PMDataManager /// PMDataManager provides the common place to manage the analysis data /// used by pass managers. @@ -168,6 +169,10 @@ public: + PMDataManager() : TPM(NULL) { + initializeAnalysisInfo(); + } + /// Return true IFF pass P's required analysis set does not required new /// manager. bool manageablePass(Pass *P); @@ -222,6 +227,10 @@ // TODO : Check if pass P is available. } + // Access toplevel manager + PMTopLevelManager *getTopLevelManager() { return TPM; } + void setTopLevelManager(PMTopLevelManager *T) { TPM = T; } + private: // Set of available Analysis. This information is used while scheduling // pass. If a pass requires an analysis which is not not available then @@ -235,6 +244,10 @@ // Collection of pass that are managed by this manager std::vector<Pass *> PassVector; + + // Top level manager. + // TODO : Make it a reference. + PMTopLevelManager *TPM; }; /// BasicBlockPassManager_New manages BasicBlockPass. It batches all the _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits