Make sure not to count the PassManager wrapers
llvm-svn: 3994
diff --git a/llvm/lib/VMCore/PassManagerT.h b/llvm/lib/VMCore/PassManagerT.h
index bde97ba..1bdca0e 100644
--- a/llvm/lib/VMCore/PassManagerT.h
+++ b/llvm/lib/VMCore/PassManagerT.h
@@ -97,12 +97,14 @@
}
void passStarted(Pass *P) {
+ if (dynamic_cast<AnalysisResolver*>(P)) return;
std::map<Pass*, Timer>::iterator I = TimingData.find(P);
if (I == TimingData.end())
I = TimingData.insert(std::make_pair(P, Timer(P->getPassName()))).first;
I->second.startTimer();
}
void passEnded(Pass *P) {
+ if (dynamic_cast<AnalysisResolver*>(P)) return;
std::map<Pass*, Timer>::iterator I = TimingData.find(P);
assert (I != TimingData.end() && "passStarted/passEnded not nested right!");
I->second.stopTimer();