[llvm-commits] [llvm] r169039 - /llvm/trunk/lib/VMCore/PassManager.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Nov 30 13:42:45 PST 2012
Author: stoklund
Date: Fri Nov 30 15:42:45 2012
New Revision: 169039
URL: http://llvm.org/viewvc/llvm-project?rev=169039&view=rev
Log:
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.
Modified:
llvm/trunk/lib/VMCore/PassManager.cpp
Modified: llvm/trunk/lib/VMCore/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=169039&r1=169038&r2=169039&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/PassManager.cpp (original)
+++ llvm/trunk/lib/VMCore/PassManager.cpp Fri Nov 30 15:42:45 2012
@@ -444,7 +444,7 @@
static ManagedStatic<sys::SmartMutex<true> > TimingInfoMutex;
class TimingInfo {
- DenseMap<Pass*, Timer*> TimingData;
+ DenseMap<AnalysisID, Timer*> TimingData;
TimerGroup TG;
public:
// Use 'create' member to get this.
@@ -454,7 +454,7 @@
~TimingInfo() {
// Delete all of the timers, which accumulate their info into the
// TimerGroup.
- for (DenseMap<Pass*, Timer*>::iterator I = TimingData.begin(),
+ for (DenseMap<AnalysisID, Timer*>::iterator I = TimingData.begin(),
E = TimingData.end(); I != E; ++I)
delete I->second;
// TimerGroup is deleted next, printing the report.
@@ -471,7 +471,7 @@
return 0;
sys::SmartScopedLock<true> Lock(*TimingInfoMutex);
- Timer *&T = TimingData[P];
+ Timer *&T = TimingData[P->getPassID()];
if (T == 0)
T = new Timer(P->getPassName(), TG);
return T;
More information about the llvm-commits
mailing list