[all-commits] [llvm/llvm-project] a8ad41: [RFC][clangd] Move preamble index out of document ...

Kugan via All-commits all-commits at lists.llvm.org
Mon Jun 12 04:57:04 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8ad413f0d18c07a4adaa0d547e0096874d809c5
      https://github.com/llvm/llvm-project/commit/a8ad413f0d18c07a4adaa0d547e0096874d809c5
  Author: Kugan Vivekanandarajah <kuganv at gmail.com>
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TUScheduler.h
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
    M clang/include/clang/Frontend/CompilerInstance.h

  Log Message:
  -----------
  [RFC][clangd] Move preamble index out of document open critical path

We would like to move the preamble index out of the critical path.
This patch is an RFC to get feedback on the correct implementation and potential pitfalls to keep into consideration.

I am not entirely sure if the lazy AST initialisation would create using Preamble AST in parallel. I tried with tsan enabled clangd but it seems to work OK (at least for the cases I tried)

Reviewed By: kadircet

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




More information about the All-commits mailing list