Skip to content

[clang][cas] Cherry-pick recent cas include-tree improvements #6593

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Apr 5, 2023

Conversation

benlangmuir
Copy link

  • [clang][deps] Remove -coverage-data-file and -coverage-notes-file from modules
  • [clang][cas] Strip -coverage-data-file and -coverage-notes-file from PCH
  • [clang][cas] Move -fdepscan-prefix-map-* options to clang driver
  • [clang][cas] Prefix map -fdepfile-entry
  • [clang][modules] Handle explicit modules when checking for .Private -> _Private
  • [clang][cas] Switch to include-tree by default

rdar://107443796
rdar://106307646
rdar://107449872

…m modules

When not performing codegen, we can strip the coverage-data-file and
coverage-notes-file options to improve canonicalization.

rdar://107443796

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

(cherry picked from commit 758bca6)
Companion to https://reviews.llvm.org/D147282; when caching a PCH,
remove the -coverage-data-file and -coverage-notes-file options. These
paths cannot currently be prefix-mapped, because they are emitted into
the binary for the coverage runtime to use. However, they have no effect
on PCH, so remove them.

rdar://107443796
(cherry picked from commit 0d086a5)
(cherry picked from commit eb9236e)
Centralize the handling of prefix mapping options so that the driver is
responsible for lowering `-fdepscan-prefix-map-sdk` and
`-fdepscan-prefix-map-toolchain` to use `-fdepscan-prefix-map`, and all
the tools take their prefix mappings from
`FrontendOptions::PathPrefixMappings` instead of each having their own
handling.

This makes it easier for new code paths to use prefix mapping, since
they get configuration "for free".

cc1depscan[d] no longer needs special handling of these options at all,
and in tests we just move to the driver or cc1 options. For
clang-scan-deps it's move convenient to keep the command-line options,
but implement them in the argument adjuster by adding the right driver
options.

rdar://106307646
(cherry picked from commit 5f5cf44)
…> _Private

While we eventually want to remove the mapping from .Private to _Private
modules, until we do, ensure that it behaves the same for explicit
modules.

rdar://107449872

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

(cherry picked from commit 8ec36e6)
As of 3a924f2 we have significantly fewer known isuses with
include-tree caching than with cas-fs, so it's time to switch the
default.

rdar://107575958
(cherry picked from commit cfdc12e)
@benlangmuir
Copy link
Author

@swift-ci please test

@benlangmuir
Copy link
Author

swiftlang/swift#64909
@swift-ci please test

@benlangmuir
Copy link
Author

swiftlang/swift#64909
@swift-ci please test macOS

1 similar comment
@benlangmuir
Copy link
Author

swiftlang/swift#64909
@swift-ci please test macOS

rdar://107634986
(cherry picked from commit 3c2b29f)
@benlangmuir
Copy link
Author

swiftlang/swift#64909
@swift-ci please test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants