================ @@ -1346,14 +1344,30 @@ static void runThinLTOBackend( } } -void clang::EmitBackendOutput( - DiagnosticsEngine &Diags, const HeaderSearchOptions &HeaderOpts, - const CodeGenOptions &CGOpts, const clang::TargetOptions &TOpts, - const LangOptions &LOpts, StringRef TDesc, llvm::Module *M, - BackendAction Action, IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS, - std::unique_ptr<raw_pwrite_stream> OS, BackendConsumer *BC) { - +void clang::emitBackendOutput(CompilerInstance &CI, StringRef TDesc, + llvm::Module *M, BackendAction Action, + IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS, + std::unique_ptr<raw_pwrite_stream> OS, + BackendConsumer *BC) { llvm::TimeTraceScope TimeScope("Backend"); + DiagnosticsEngine &Diags = CI.getDiagnostics(); + const auto &HeaderOpts = CI.getHeaderSearchOpts(); + const auto &CGOpts = CI.getCodeGenOpts(); + const auto &TOpts = CI.getTargetOpts(); + const auto &LOpts = CI.getLangOpts(); + + Timer timer; + if (CGOpts.TimePasses) { + CI.getFrontendTimer().stopTimer(); + timer.init("backend", "Backend", CI.getTimerGroup()); + timer.startTimer(); + } + auto _ = llvm::make_scope_exit([&] { ---------------- cachemeifyoucan wrote:
Is it better to relocate the Frontend Timer TimeRegion instead of doing a stop and start here? I am not sure if frontend should count the time after backend (even if it isn't much time). https://github.com/llvm/llvm-project/pull/122225 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits