-
Notifications
You must be signed in to change notification settings - Fork 162
Create 5.x base branch #1571
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
Open
luispadron
wants to merge
17
commits into
5.x
Choose a base branch
from
luis/4.x
base: 5.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Create 5.x base branch #1571
+3,489
−3,132
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dcfa600 to
16ac29c
Compare
Contributor
|
Just curious: what's the motivation to remove incremental compilation? |
Collaborator
|
It's removed in Google's upstream branch. More context / us asking for feedback: https://bazelbuild.slack.com/archives/CD3QY5C2X/p1758578665272229. |
87abef8 to
6ab4bec
Compare
6cd2df4 to
230b2dc
Compare
77976d4 to
8ed2fa4
Compare
Up-to-date with upstream as of: 12-18-2025
…s themselves. We leave in the ability for a tool to be configured that isn't wrapped by the worker, even though it isn't currently being used—all actions are currently wrapped, because they all need to, at a minimum, do Xcode placeholder substitution. PiperOrigin-RevId: 576856156 Cherry-pick: 3997da2
…the -O group is being used. Unless cross-module-optimization is disabled (which we don't really support at this time), the driver in this case will create a single frontend invocation that emits both the module and performs codegen. Cherry-pick of upstream: 29f0ec2
…assing an empty string instead of the full list of object files. This reduces unnecessary processing for huge modules with hundreds of source files. Cherry-pick: c413bd3
…ing up specific mnemonics.
… various optimization modes interact as we expect. The tests highlight a couple cases that are currently known to be wrong so we can fix and test them without just manually building all possible combinations. Chery-pick: f6302a2
…ctly. Explicitly disable cross-module optimization in `exec` configs so that Swift tools can be built in parallel to speed up critical build paths. Cherry-pic: d1ecc8a
Signed-off-by: Brentley Jones <[email protected]>
…planning parallel compilation. In the future, we should consider whether we should more strictly control where these flags can be applied, since they don't just control optimizations but also how the driver plans its work. Cherry-pick: ab55a12
…`-c opt` is used and `-wmo` is passed on the command line. Cherry-pick: 66a6a6b
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
5.x base
This is the "base commits" for the upcoming 5.x (after 4.x drops WORKSPACE support). This PR primarily works towards syncing our
swift_runnercode with Google'supstreambranch, in order to make maintaining it easier in the future as well as to pickup new features like parallel compilation (replacement for split derived files feature) and mixed language support (replacement formixed_language_library).At a high level 5.x will drop these features:
Overall this should get us more in-sync with Googles changes and make cherry-picks easier, especially those to the runner/worker code which lately has been the majority of changes.
Breaking Changes
Cherry-picks (Parallel Compilation)
-Ooptimization flags are used (single frontend invocation required for cross-module optimization).execconfigs.-Oflags set via--swiftcoptwhen planning parallel compilation.-c optis used with-wmoon command line.Fixes
swift.compile_in_parallelin tests that check specific mnemonics.