[clang] 12d007d - [clang][modules] Add time traces for AST serialization
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 19 12:16:35 PDT 2022
Author: Andreas Hollandt
Date: 2022-10-19T12:16:30-07:00
New Revision: 12d007d4ba218e21e92de30d00c6a890f3d8b5f8
URL: https://github.com/llvm/llvm-project/commit/12d007d4ba218e21e92de30d00c6a890f3d8b5f8
DIFF: https://github.com/llvm/llvm-project/commit/12d007d4ba218e21e92de30d00c6a890f3d8b5f8.diff
LOG: [clang][modules] Add time traces for AST serialization
Fills gaps in the time trace when precompiled headers are created/loaded.
Reviewed By: jansvoboda11
Differential Revision: https://reviews.llvm.org/D135657
Added:
Modified:
clang/lib/Serialization/ASTReader.cpp
clang/lib/Serialization/ASTWriter.cpp
Removed:
################################################################################
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index 1420aaddb9802..ad979d5497f23 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -122,6 +122,7 @@
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SaveAndRestore.h"
+#include "llvm/Support/TimeProfiler.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/Support/raw_ostream.h"
@@ -4208,6 +4209,8 @@ ASTReader::ASTReadResult ASTReader::ReadAST(StringRef FileName,
SourceLocation ImportLoc,
unsigned ClientLoadCapabilities,
SmallVectorImpl<ImportedSubmodule> *Imported) {
+ llvm::TimeTraceScope scope("ReadAST", FileName);
+
llvm::SaveAndRestore<SourceLocation>
SetCurImportLocRAII(CurrentImportLoc, ImportLoc);
llvm::SaveAndRestore<Optional<ModuleKind>> SetCurModuleKindRAII(
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index 73441a6efbc97..6bfbf0b57f5b8 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -100,6 +100,7 @@
#include "llvm/Support/OnDiskHashTable.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SHA1.h"
+#include "llvm/Support/TimeProfiler.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
@@ -4484,6 +4485,7 @@ ASTFileSignature ASTWriter::WriteAST(Sema &SemaRef, StringRef OutputFile,
Module *WritingModule, StringRef isysroot,
bool hasErrors,
bool ShouldCacheASTInMemory) {
+ llvm::TimeTraceScope scope("WriteAST", OutputFile);
WritingAST = true;
ASTHasCompilerErrors = hasErrors;
More information about the cfe-commits
mailing list