[all-commits] [llvm/llvm-project] 86565c: Avoid SourceManager.h include in RawCommentList.h, ...

Reid Kleckner via All-commits all-commits at lists.llvm.org
Thu Feb 27 13:49:45 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 86565c13094236e022d2238f5653641aaca7d31f
      https://github.com/llvm/llvm-project/commit/86565c13094236e022d2238f5653641aaca7d31f
  Author: Reid Kleckner <rnk at google.com>
  Date:   2020-02-27 (Thu, 27 Feb 2020)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTDumper.h
    M clang/include/clang/AST/RawCommentList.h
    M clang/lib/ARCMigrate/TransProtectedScope.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DataCollection.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/RawCommentList.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Analysis/CloneDetection.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
    M clang/lib/Tooling/Core/Lookup.cpp
    M clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp

  Log Message:
  -----------
  Avoid SourceManager.h include in RawCommentList.h, add missing incs

SourceManager.h includes FileManager.h, which is expensive due to
dependencies on LLVM FS headers.

Remove dead BeforeThanCompare specialization.

Sink ASTContext::addComment to cpp file.

This reduces the time to compile a file that does nothing but include
ASTContext.h from ~3.4s to ~2.8s for me.

Saves these includes:
    219 -    ../clang/include/clang/Basic/SourceManager.h
    204 -    ../clang/include/clang/Basic/FileSystemOptions.h
    204 -    ../clang/include/clang/Basic/FileManager.h
    165 -    ../llvm/include/llvm/Support/VirtualFileSystem.h
    164 -    ../llvm/include/llvm/Support/SourceMgr.h
    164 -    ../llvm/include/llvm/Support/SMLoc.h
    161 -    ../llvm/include/llvm/Support/Path.h
    141 -    ../llvm/include/llvm/ADT/BitVector.h
    128 -    ../llvm/include/llvm/Support/MemoryBuffer.h
    124 -    ../llvm/include/llvm/Support/FileSystem.h
    124 -    ../llvm/include/llvm/Support/Chrono.h
    124 -    .../MSVCSTL/include/stack
    122 -    ../llvm/include/llvm-c/Types.h
    122 -    ../llvm/include/llvm/Support/NativeFormatting.h
    122 -    ../llvm/include/llvm/Support/FormatProviders.h
    122 -    ../llvm/include/llvm/Support/CBindingWrapping.h
    122 -    .../MSVCSTL/include/xtimec.h
    122 -    .../MSVCSTL/include/ratio
    122 -    .../MSVCSTL/include/chrono
    121 -    ../llvm/include/llvm/Support/FormatVariadicDetails.h
    118 -    ../llvm/include/llvm/Support/MD5.h
    109 -    .../MSVCSTL/include/deque
    105 -    ../llvm/include/llvm/Support/Host.h
    105 -    ../llvm/include/llvm/Support/Endian.h

Reviewed By: aaron.ballman, hans

Differential Revision: https://reviews.llvm.org/D75279




More information about the All-commits mailing list