aboutsummaryrefslogtreecommitdiff
path: root/clang/tools/driver/cc1_main.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2025-01-12 13:17:49 -0800
committerFangrui Song <i@maskray.me>2025-01-12 13:17:49 -0800
commit5c0aa31c3cb448065f12ede53e4dd54a9a98f650 (patch)
treeb30a23bdc1ddd8271754fbe6e180df8a8d954895 /clang/tools/driver/cc1_main.cpp
parentf5a35a31bfe6cbc16bec0c130f2bb3632dbf1fbf (diff)
downloadllvm-5c0aa31c3cb448065f12ede53e4dd54a9a98f650.zip
llvm-5c0aa31c3cb448065f12ede53e4dd54a9a98f650.tar.gz
llvm-5c0aa31c3cb448065f12ede53e4dd54a9a98f650.tar.bz2
-ftime-report: Move FrontendTimer closer to TimeTraceScope
... to improve consistency and make "Clang time report" cover `FrontendAction::BeginSourceFile` and `FrontendAction::EndSourceFile`.
Diffstat (limited to 'clang/tools/driver/cc1_main.cpp')
-rw-r--r--clang/tools/driver/cc1_main.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/tools/driver/cc1_main.cpp b/clang/tools/driver/cc1_main.cpp
index d14058f..26b5e78 100644
--- a/clang/tools/driver/cc1_main.cpp
+++ b/clang/tools/driver/cc1_main.cpp
@@ -283,6 +283,10 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
// Execute the frontend actions.
{
llvm::TimeTraceScope TimeScope("ExecuteCompiler");
+ bool TimePasses = Clang->getCodeGenOpts().TimePasses;
+ if (TimePasses)
+ Clang->createFrontendTimer();
+ llvm::TimeRegion Timer(TimePasses ? &Clang->getFrontendTimer() : nullptr);
Success = ExecuteCompilerInvocation(Clang.get());
}