summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-11-30 21:42:45 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-11-30 21:42:45 +0000
commit366a2e812d251934628679a77d1ba44f384c863c (patch)
tree856c46fe838711cab51e73ae314f09a0187abdce /llvm/lib
parent2555a4fc088ce23b38c11297af6692fb085aceda (diff)
downloadbcm5719-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.cpp6
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;
OpenPOWER on IntegriCloud