Changes in directory llvm/lib/VMCore:
PassManager.cpp updated: 1.129 -> 1.130 --- Log message: Move TimingInfo into PassManagers.h so that other libs can use it. --- Diffs of the changes: (+5 -53) PassManager.cpp | 58 ++++---------------------------------------------------- 1 files changed, 5 insertions(+), 53 deletions(-) Index: llvm/lib/VMCore/PassManager.cpp diff -u llvm/lib/VMCore/PassManager.cpp:1.129 llvm/lib/VMCore/PassManager.cpp:1.130 --- llvm/lib/VMCore/PassManager.cpp:1.129 Wed Jan 17 15:19:23 2007 +++ llvm/lib/VMCore/PassManager.cpp Mon Jan 29 14:06:26 2007 @@ -14,7 +14,6 @@ #include "llvm/PassManagers.h" #include "llvm/Support/CommandLine.h" -#include "llvm/Support/Timer.h" #include "llvm/Module.h" #include "llvm/ModuleProvider.h" #include "llvm/Support/Streams.h" @@ -259,60 +258,13 @@ }; -} // End of llvm namespace - -namespace { - -//===----------------------------------------------------------------------===// -// TimingInfo Class - This class is used to calculate information about the -// amount of time each pass takes to execute. This only happens when -// -time-passes is enabled on the command line. -// - -class VISIBILITY_HIDDEN TimingInfo { - std::map<Pass*, Timer> TimingData; - TimerGroup TG; - -public: - // Use 'create' member to get this. - TimingInfo() : TG("... Pass execution timing report ...") {} - - // TimingDtor - Print out information about timing information - ~TimingInfo() { - // Delete all of the timers... - TimingData.clear(); - // TimerGroup is deleted next, printing the report. - } - - // createTheTimeInfo - This method either initializes the TheTimeInfo pointer - // to a non null value (if the -time-passes option is enabled) or it leaves it - // null. It may be called multiple times. - static void createTheTimeInfo(); - - void passStarted(Pass *P) { - - if (dynamic_cast<PMDataManager *>(P)) - return; - - std::map<Pass*, Timer>::iterator I = TimingData.find(P); - if (I == TimingData.end()) - I=TimingData.insert(std::make_pair(P, Timer(P->getPassName(), TG))).first; - I->second.startTimer(); - } - void passEnded(Pass *P) { - - if (dynamic_cast<PMDataManager *>(P)) - return; - - std::map<Pass*, Timer>::iterator I = TimingData.find(P); - assert (I != TimingData.end() && "passStarted/passEnded not nested right!"); - I->second.stopTimer(); - } -}; - static TimingInfo *TheTimeInfo; -} // End of anon namespace +TimingInfo *getTheTimeInfo() { + return TheTimeInfo; +} + +} // End of llvm namespace //===----------------------------------------------------------------------===// // PMTopLevelManager implementation _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits