[all-commits] [llvm/llvm-project] bf2b1e: [clang][deps] Use `ModuleFile` instead of `Module`...

Jan Svoboda via All-commits all-commits at lists.llvm.org
Wed Apr 29 13:48:27 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf2b1efce5b99def672ec61b1d449d066d5db7bd
      https://github.com/llvm/llvm-project/commit/bf2b1efce5b99def672ec61b1d449d066d5db7bd
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-04-29 (Wed, 29 Apr 2026)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/DependencyScanning/ModuleDepCollector.h
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][deps] Use `ModuleFile` instead of `Module` (#194028)

This switches the dependency scanner from handling `Module` objects to
dealing with `serialization::ModuleFile`. Module file already contains
(almost) all of the information the scanner needs, and has the advantage
of not forcing deserialization of `Module` objects from PCM files, which
will become important in a later PR.

This alone improves clean scans by 1.8% and incremental scans by 2.6%.
This effect is likely caused by removing iteration over many `Module`
objects, removing deduplication via associative containers deduplication
of work, and sorting `Module` objects by name to ensure deterministic
order.



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