From 8244121b9c130ff2529f3e3ebb3ef2fa4646ba34 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169039 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/PassManager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 11423926e66..77e7913c832 100644 --- a/lib/VMCore/PassManager.cpp +++ b/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;