[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