Introduce PassManagerAnalysisHelper.

llvm-svn: 31522
GitOrigin-RevId: f68a34908d3f98df9eb1349f321406955b7c54b3
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index c87d333..766f8ce 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -18,6 +18,46 @@
 
 using namespace llvm;
 
+// PassManagerAnalysisHelper implementation
+
+/// Return TRUE IFF pass P's required analysis set does not required new
+/// manager.
+bool PassManagerAnalysisHelper::manageablePass(Pass *P) {
+
+  AnalysisUsage AnUsage;
+  P->getAnalysisUsage(AnUsage);
+
+  // If this pass is not preserving information that is required by the other passes
+  // managed by this manager then use new manager
+  // TODO
+  return true;
+}
+
+/// Return TRUE iff AnalysisID AID is currently available.
+bool PassManagerAnalysisHelper::analysisCurrentlyAvailable(AnalysisID AID) {
+
+  // TODO
+  return false;
+}
+
+/// Augment RequiredSet by adding analysis required by pass P.
+void PassManagerAnalysisHelper::noteDownRequiredAnalysis(Pass *P) {
+
+  // TODO
+}
+
+/// Remove AnalysisID from the RequiredSet
+void PassManagerAnalysisHelper::removeAnalysis(AnalysisID AID) {
+
+  // TODO
+}
+
+/// Remove Analyss not preserved by Pass P
+void PassManagerAnalysisHelper::removeNotPreservedAnalysis(Pass *P) {
+
+  // TODO
+}
+
 /// BasicBlockPassManager implementation
 
 /// Add pass P into PassVector and return TRUE. If this pass is not