Skip to content

[ScanDependencies] Re-structure the dependency resolver #76700

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

Conversation

cachemeifyoucan
Copy link
Contributor

Rewrite part of the dependency scanner into a class so it is easier to keep track of the global states and avoid redundent work. This allows folding the pruning unused VFS job into the same loop and reduce a lot of repeated dependency cache updates.

Rewrite part of the dependency scanner into a class so it is easier to
keep track of the global states and avoid redundent work. This allows
folding the pruning unused VFS job into the same loop and reduce a lot
of repeated dependency cache updates.
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan merged commit 15ca322 into swiftlang:main Sep 26, 2024
3 checks passed
cachemeifyoucan added a commit to cachemeifyoucan/swift that referenced this pull request Dec 5, 2024
In the refactoring change swiftlang#76700, it accidentally introduced a behavior
change that causes the generated PCM command-line to have useful
VFSOverlay files getting dropped. Clang module command-line and its
unused VFS pruning should be done by the clang dependency scanner
already so there is no need to touch that in the swift scanner. Since
the original logics is not used to handle clang module commands, it will
actually dropped the useful vfs overlay that is needed when none of the
dependencies uses it. Fix the regression by restoring the old behavior
and ignoring clang modules when pruning VFS overlay.

rdar://139233781
cachemeifyoucan added a commit that referenced this pull request Dec 5, 2024
[ScanDependency] Fix a regression caused by rewrite in #76700
cachemeifyoucan added a commit to cachemeifyoucan/swift that referenced this pull request Dec 9, 2024
In the refactoring change swiftlang#76700, it accidentally introduced a behavior
change that causes the generated PCM command-line to have useful
VFSOverlay files getting dropped. Clang module command-line and its
unused VFS pruning should be done by the clang dependency scanner
already so there is no need to touch that in the swift scanner. Since
the original logics is not used to handle clang module commands, it will
actually dropped the useful vfs overlay that is needed when none of the
dependencies uses it. Fix the regression by restoring the old behavior
and ignoring clang modules when pruning VFS overlay.

rdar://139233781
(cherry picked from commit e5d0c207f19cb7be40019a74b8e5b02075410689)
cachemeifyoucan added a commit that referenced this pull request Dec 10, 2024
[6.1][ScanDependency] Fix a regression caused by rewrite in #76700
cachemeifyoucan added a commit to cachemeifyoucan/swift that referenced this pull request Dec 20, 2024
…odules

When planning for a swift source module, it should not get build
commands for its module dependencies. Those dependencies should be
planned and added by swift-driver.

This is another regression from swiftlang#76700 that causes unnecessary increase
of build command-line size.

rdar://141843125
cachemeifyoucan added a commit to cachemeifyoucan/swift that referenced this pull request Dec 21, 2024
…odules

When planning for a swift source module, it should not get build
commands for its module dependencies. Those dependencies should be
planned and added by swift-driver.

This is another regression from swiftlang#76700 that causes unnecessary increase
of build command-line size.

rdar://141843125
cachemeifyoucan added a commit to cachemeifyoucan/swift that referenced this pull request Dec 21, 2024
…odules

When planning for a swift source module, it should not get build
commands for its module dependencies. Those dependencies should be
planned and added by swift-driver.

This is another regression from swiftlang#76700 that causes unnecessary increase
of build command-line size.

rdar://141843125
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