[llvm-commits] [llvm] r40567 - in /llvm/trunk: include/llvm/PassManagers.h lib/VMCore/PassManager.cpp

Devang Patel dpatel at apple.com
Fri Jul 27 13:06:10 PDT 2007


Author: dpatel
Date: Fri Jul 27 15:06:09 2007
New Revision: 40567

URL: http://llvm.org/viewvc/llvm-project?rev=40567&view=rev
Log:
Add facility to dump pass manager structure 
to make it easier to understand failure.

Modified:
    llvm/trunk/include/llvm/PassManagers.h
    llvm/trunk/lib/VMCore/PassManager.cpp

Modified: llvm/trunk/include/llvm/PassManagers.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/PassManagers.h?rev=40567&r1=40566&r2=40567&view=diff

==============================================================================
--- llvm/trunk/include/llvm/PassManagers.h (original)
+++ llvm/trunk/include/llvm/PassManagers.h Fri Jul 27 15:06:09 2007
@@ -227,10 +227,7 @@
   /// Add RequiredPass into list of lower level passes required by pass P.
   /// RequiredPass is run on the fly by Pass Manager when P requests it
   /// through getAnalysis interface.
-  virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
-    assert (0 && 
-            "Unable to handle Pass that requires lower level Analysis pass");
-  }
+  virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass);
 
   virtual Pass * getOnTheFlyPass(Pass *P, const PassInfo *PI, Function &F) {
     assert (0 && "Unable to find on the fly pass");

Modified: llvm/trunk/lib/VMCore/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=40567&r1=40566&r2=40567&view=diff

==============================================================================
--- llvm/trunk/lib/VMCore/PassManager.cpp (original)
+++ llvm/trunk/lib/VMCore/PassManager.cpp Fri Jul 27 15:06:09 2007
@@ -907,6 +907,18 @@
   }
 }
 
+/// Add RequiredPass into list of lower level passes required by pass P.
+/// RequiredPass is run on the fly by Pass Manager when P requests it
+/// through getAnalysis interface.
+/// This should be handled by specific pass manager.
+void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
+  if (TPM) {
+    TPM->dumpArguments();
+    TPM->dumpPasses();
+  }
+  assert (0 && "Unable to handle Pass that requires lower level Analysis pass");
+}
+
 // Destructor
 PMDataManager::~PMDataManager() {
   





More information about the llvm-commits mailing list