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() { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits