From: Russell Gallop Date: Fri, 31 May 2019 10:14:04 +0000 (+0000) Subject: ftime-trace: Trace loop passes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35b55e31ca9926f12a8469ebcb7005bfe776b642;p=llvm ftime-trace: Trace loop passes These can take a significant amount of time in some builds. Suggested by Andrea Di Biagio. Differential Revision: https://reviews.llvm.org/D62666 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362219 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/LoopPass.cpp b/lib/Analysis/LoopPass.cpp index c57ec2a3e24..4ab3798039d 100644 --- a/lib/Analysis/LoopPass.cpp +++ b/lib/Analysis/LoopPass.cpp @@ -22,6 +22,7 @@ #include "llvm/IR/PassTimingInfo.h" #include "llvm/Support/Debug.h" #include "llvm/Support/Timer.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; @@ -209,6 +210,8 @@ bool LPPassManager::runOnFunction(Function &F) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { LoopPass *P = getContainedPass(Index); + llvm::TimeTraceScope LoopPassScope("RunLoopPass", P->getPassName()); + dumpPassInfo(P, EXECUTION_MSG, ON_LOOP_MSG, CurrentLoop->getHeader()->getName()); dumpRequiredSet(P);