[all-commits] [llvm/llvm-project] 1698be: [clang][modules][deps] Optimize in-process timesta...

Jan Svoboda via All-commits all-commits at lists.llvm.org
Wed May 7 14:03:02 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1698beb5420f6e6f7eed5d9914ab6a10ff5f4b1f
      https://github.com/llvm/llvm-project/commit/1698beb5420f6e6f7eed5d9914ab6a10ff5f4b1f
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-05-07 (Wed, 07 May 2025)

  Changed paths:
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp

  Log Message:
  -----------
  [clang][modules][deps] Optimize in-process timestamping of PCMs (#137363)

In the past, timestamps used for
`-fmodules-validate-once-per-build-session` were found to be a source of
contention in the dependency scanner
([D149802](https://reviews.llvm.org/D149802),
https://github.com/llvm/llvm-project/pull/112452). This PR is yet
another attempt to optimize these. We now make use of the new
`ModuleCache` interface to implement the in-process version in terms of
atomic `std::time_t` variables rather the mtime attribute on
`.timestamp` files.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list