[all-commits] [llvm/llvm-project] 276a95: [clangd] Decouple preambleworker from astworker, NFCI

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Mon Apr 6 12:20:50 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 276a95bdf27c887a0a8c6c703db1fd2f8da27a03
      https://github.com/llvm/llvm-project/commit/276a95bdf27c887a0a8c6c703db1fd2f8da27a03
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-04-06 (Mon, 06 Apr 2020)

  Changed paths:
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/TUScheduler.cpp

  Log Message:
  -----------
  [clangd] Decouple preambleworker from astworker, NFCI

Summary:
First step to enable deferred preamble builds. Not intending to land it
alone, will have follow-ups that will implement full deferred build
functionality and will land after all of them are ready.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

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


  Commit: 6b85032c95bee2e15ce7f239316de4d11e6ca08b
      https://github.com/llvm/llvm-project/commit/6b85032c95bee2e15ce7f239316de4d11e6ca08b
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-04-06 (Mon, 06 Apr 2020)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TUScheduler.h
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp

  Log Message:
  -----------
  [clangd] Update TUStatus api to accommodate preamble thread

Summary:
TUStatus api had a single thread in mind. This introudces a section
action to represent state of the preamble thread. In the file status extension,
we keep old behavior almost the same. We only prepend current task with a
`parsing includes` if preamble thread is working. We omit the idle thread in the
output unless both threads are idle.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

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


  Commit: c31367e95ce1e1e3fe97b1aee54a746f8dafc779
      https://github.com/llvm/llvm-project/commit/c31367e95ce1e1e3fe97b1aee54a746f8dafc779
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-04-06 (Mon, 06 Apr 2020)

  Changed paths:
    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/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp

  Log Message:
  -----------
  [clangd] Build ASTs only with fresh preambles or after building a new preamble

Summary:
This is another step for out-of-order preamble builds. To keep the
diagnostic behavior same, we only build ASTs either with "usable" preambles,
the ones that are fully applicable to a given ParseInput, or after building a
new preamble. Which is the same behaviour as what we do today. ASTs
built in the latter is called golden ASTs.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

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


Compare: https://github.com/llvm/llvm-project/compare/a473f0a36c3f...c31367e95ce1


More information about the All-commits mailing list