Skip to content

[Driver, Incremental] Add enable- and disable- only-one-dependency-file flags on-by-default #28900

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

Closed

Conversation

davidungar
Copy link
Contributor

@davidungar davidungar commented Dec 20, 2019

Only enabled if the driver is passed -enable-only-one-dependency-file

Since every make-style dependency file has the same contents, it wastes time to output one for each source file. Only write one real one, and create empty dummy files (to keep the build system happy) for the rest.

Latest version of this facility. Intervenes earlier in the driver in order to work well with batch mode.

…-by-default

[Driver, Incremental] Add enable- and disable- only-one-dependency-file flags off-by-default
@davidungar davidungar requested a review from a team as a code owner December 20, 2019 17:36
@davidungar
Copy link
Contributor Author

@swift-ci please test

@davidungar
Copy link
Contributor Author

@swift-ci please test source compatibility

@davidungar
Copy link
Contributor Author

davidungar commented Dec 20, 2019

Explanation: Remedies an incremental performance issue, can be disabled with a flag.
Scope of issue: Significant for incremental Swift compilations that involve hundreds of files
Origination: At some point compiler started including system headers in dependency files.
Risk: Rests on the assumption that all make-style dependency files contain the same info and that the build system reads them all.
Reviewed by: Robert Widman
Testing: Normal regression tests.
Radar: rdar://57824038
Note: This may cause problems on Windows: @drodriguez has reported that #28743 caused Windows CI to start failing https://ci-external.swift.org/job/oss-swift-windows-x86_64/2293/ . I'm not sure how to proceed in that regard.

@davidungar davidungar changed the title [Driver, Incremental] Add enable- and disable- only-one-dependency-file flags off-by-default [Driver, Incremental] Add enable- and disable- only-one-dependency-file flags on-by-default Dec 20, 2019
@davidungar
Copy link
Contributor Author

@swift-ci please test

@davidungar
Copy link
Contributor Author

@swift-ci please test source compatibility

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 199fa51

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 199fa51

@davidungar
Copy link
Contributor Author

@swift-ci please nominate

@davidungar davidungar closed this Dec 20, 2019
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