This is an archive of the discontinued LLVM Phabricator instance.

[clang][modules][deps] WIP: In-memory module transfer
AbandonedPublic

Authored by jansvoboda11 on Nov 2 2022, 8:27 AM.

Details

Reviewers
None
Summary

Let's not create PCM files in the dependency scanner.

Diff Detail

Event Timeline

jansvoboda11 created this revision.Nov 2 2022, 8:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 2 2022, 8:27 AM
Herald added a subscriber: ributzka. · View Herald Transcript
jansvoboda11 requested review of this revision.Nov 2 2022, 8:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 2 2022, 8:27 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Improve SourceLocation handling: invalid & inside predefines buffer.

Handle macros

Kinda rebase

Fixed two tests:

  • modules-pch.c by always marking identifier info as not out-of-date when getting leaf module macros,
  • modules-module-map-order.m by updating the sorting logic for gathering SortedFiles.
jansvoboda11 abandoned this revision.Apr 20 2023, 11:00 AM

Using CompilerInstance as the module storage dramatically increases memory usage (peak ~30GB) of clang-scan-deps when scanning LLVM. (Memory mapping serialized files peaks at ~300MB.)