[llvm-commits] CVS: llvm/lib/VMCore/PassManager.cpp

Devang Patel dpatel at apple.com
Tue Nov 7 14:57:19 PST 2006



Changes in directory llvm/lib/VMCore:

PassManager.cpp updated: 1.5 -> 1.6
---
Log message:

Update new pass managers to use PassManagerAnalysisHelper API.



---
Diffs of the changes:  (+21 -6)

 PassManager.cpp |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)


Index: llvm/lib/VMCore/PassManager.cpp
diff -u llvm/lib/VMCore/PassManager.cpp:1.5 llvm/lib/VMCore/PassManager.cpp:1.6
--- llvm/lib/VMCore/PassManager.cpp:1.5	Tue Nov  7 16:35:17 2006
+++ llvm/lib/VMCore/PassManager.cpp	Tue Nov  7 16:56:50 2006
@@ -69,8 +69,13 @@
   if (!BP)
     return false;
 
-  // TODO: Check if it suitable to manage P using this BasicBlockPassManager
-  // or we need another instance of BasicBlockPassManager
+  // If this pass does not preserve anlysis that is used by other passes
+  // managed by this manager than it is not a suiable pass for this manager.
+  if (!manageablePass (P))
+    return false;
+
+  // Take a note of analysis required by this pass.
+  noteDownRequiredAnalysis(P);
 
   // Add pass
   PassVector.push_back(BP);
@@ -124,8 +129,13 @@
   if (!FP)
     return false;
 
-  // TODO: Check if it suitable to manage P using this FunctionPassManager
-  // or we need another instance of FunctionPassManager
+  // If this pass does not preserve anlysis that is used by other passes
+  // managed by this manager than it is not a suiable pass for this manager.
+  if (!manageablePass (P))
+    return false;
+
+  // Take a note of analysis required by this pass.
+  noteDownRequiredAnalysis(P);
 
   PassVector.push_back(FP);
   activeBBPassManager = NULL;
@@ -179,8 +189,13 @@
   if (!MP)
     return false;
 
-  // TODO: Check if it suitable to manage P using this ModulePassManager
-  // or we need another instance of ModulePassManager
+  // If this pass does not preserve anlysis that is used by other passes
+  // managed by this manager than it is not a suiable pass for this manager.
+  if (!manageablePass (P))
+    return false;
+
+  // Take a note of analysis required by this pass.
+  noteDownRequiredAnalysis(P);
 
   PassVector.push_back(MP);
   activeFunctionPassManager = NULL;






More information about the llvm-commits mailing list