Add facility to dump pass manager structure
authorDevang Patel <dpatel@apple.com>
Fri, 27 Jul 2007 20:06:09 +0000 (20:06 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 27 Jul 2007 20:06:09 +0000 (20:06 +0000)
to make it easier to understand failure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40567 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/PassManagers.h
lib/VMCore/PassManager.cpp

index 5cbb77a77911b505d9d6c642ff8a57abebab0b24..9b6f551f6d80b5816243b901dc08bd65d112cd3f 100644 (file)
@@ -227,10 +227,7 @@ public:
   /// 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");
index 0cd1cfaa11773eb0caedc366d56bff2525800464..af0849d580bea6c01771d51b44be901a1c04dec0 100644 (file)
@@ -907,6 +907,18 @@ void PMDataManager::dumpAnalysisSetInfo(const char *Msg, Pass *P,
   }
 }
 
+/// 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() {