From 366a2e812d251934628679a77d1ba44f384c863c Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Fri, 30 Nov 2012 21:42:45 +0000 Subject: [PATCH] Aggregate pass execution time report by pass ID instead of pass instance. This avoids unidentified duplicates in the pass execution time report when a pass runs more than once in the pass manager pipeline. llvm-svn: 169039 --- llvm/lib/VMCore/PassManager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp index 1142392..77e7913 100644 --- a/llvm/lib/VMCore/PassManager.cpp +++ b/llvm/lib/VMCore/PassManager.cpp @@ -444,7 +444,7 @@ namespace { static ManagedStatic > TimingInfoMutex; class TimingInfo { - DenseMap TimingData; + DenseMap TimingData; TimerGroup TG; public: // Use 'create' member to get this. @@ -454,7 +454,7 @@ public: ~TimingInfo() { // Delete all of the timers, which accumulate their info into the // TimerGroup. - for (DenseMap::iterator I = TimingData.begin(), + for (DenseMap::iterator I = TimingData.begin(), E = TimingData.end(); I != E; ++I) delete I->second; // TimerGroup is deleted next, printing the report. @@ -471,7 +471,7 @@ public: return 0; sys::SmartScopedLock Lock(*TimingInfoMutex); - Timer *&T = TimingData[P]; + Timer *&T = TimingData[P->getPassID()]; if (T == 0) T = new Timer(P->getPassName(), TG); return T; -- 2.7.4