[Incremental Dependencies] Coarse-grained dependencies by default #32280
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.
Default to coarse-grained dependencies.
rdar://63984581
Explanation: The perturbation tester found a miscompile with fine-grained dependencies. Switch back to the legacy coarse-grained ones.
Scope: When using incremental compilation, it is possible that not all affected files will get miscompiled after adding a stored member. Based on the perturbation tester perturbing Alamofire, it is not likely, though it may be more likely in other code bases. Also will avoid a performance regression in 5.3.
Origination: When fine-grained dependencies were made the default, #29379, Jan 24, 2020.
Risk: Very low, since we used coarse-grained dependencies for years, and we still test them in 5.3.
Pull request URL: #32280
Reviewed by: Doug Gregor
Automated testing: Both the usual ci tests, and the Perturbation Tester. No miscompiles adding member functions or member storage to Alamofire.
Dependencies: none
Builder Impact: Anyone who uses incremental compilation.
Directions for exposing the bug:
Because of the bug, the rebuilt files for 4 and 5 will differ.