diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-11-30 21:42:45 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-11-30 21:42:45 +0000 |
commit | 366a2e812d251934628679a77d1ba44f384c863c (patch) | |
tree | 856c46fe838711cab51e73ae314f09a0187abdce /llvm/lib | |
parent | 2555a4fc088ce23b38c11297af6692fb085aceda (diff) | |
download | bcm5719-llvm-366a2e812d251934628679a77d1ba44f384c863c.tar.gz bcm5719-llvm-366a2e812d251934628679a77d1ba44f384c863c.zip |
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
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/VMCore/PassManager.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp index 11423926e66..77e7913c832 100644 --- a/llvm/lib/VMCore/PassManager.cpp +++ b/llvm/lib/VMCore/PassManager.cpp @@ -444,7 +444,7 @@ namespace { 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 @@ public: ~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 @@ public: 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; |