-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Move LLVM bitcode destination #70458
Closed
nnethercote
wants to merge
8
commits into
rust-lang:master
from
nnethercote:mv-llvm-bitcode-destination
Closed
Move LLVM bitcode destination #70458
nnethercote
wants to merge
8
commits into
rust-lang:master
from
nnethercote:mv-llvm-bitcode-destination
Commits on Apr 16, 2020
-
Remove
BitcodeSection::Marker
.It existed to minimize compile time of debug builds, but the subsequent commits in rust-lang#70458 and corresponding changes to Cargo mean that bitcode will be omitted in most cases anyway. As a result, we just embed full bitcode whenever embedded bitcode is necessary. This commit also removes `BitcodeSection`, using just a `bool` instead now to indicate the presence of bitcode in an object file.
Configuration menu - View commit details
-
Copy full SHA for 7851670 - Browse repository at this point
Copy the full SHA 7851670View commit details -
Promote
-Zembed-bitcode
to-Cembed-bitcode
and default to true.This means that bitcode embedding now occurs by default. Subsequent commits in this PR will remove the production of compressed bitcode in rlibs, and Cargo will soon start using this flag to avoid bitcode embedding when it's not necessary, which is most of the time. Also, produce an early error if `-Cembed-bitcode=no` is used with `-Clto`.
Configuration menu - View commit details
-
Copy full SHA for d89f03f - Browse repository at this point
Copy the full SHA d89f03fView commit details -
Instead of `.bc.z` files. This requires adding some code that calls into LLVM to find the bitcode section within an object file. The name used for the LTO module is now the full filename, rather than a substring of the filename, which accounts for one test change.
Configuration menu - View commit details
-
Copy full SHA for 7ae716f - Browse repository at this point
Copy the full SHA 7ae716fView commit details -
These were needed for LTO, but LTO now uses bitcode embedded in `.o` files.
Configuration menu - View commit details
-
Copy full SHA for 0d2cd69 - Browse repository at this point
Copy the full SHA 0d2cd69View commit details -
Don't copy bytecode files into the incr. comp. cache.
It's no longer necessary now that bitcode is embedded into object files. This change meant that `WorkProductFileKind::Bytecode` is no longer necessary, which means that type is no longer necessary, which allowed several places in the code to become simpler.
Configuration menu - View commit details
-
Copy full SHA for f2680fc - Browse repository at this point
Copy the full SHA f2680fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b1fc0e - Browse repository at this point
Copy the full SHA 8b1fc0eView commit details -
Build libstd with
-Cembed-bitcode=yes
.So that the artifacts will work with both LTO and non-LTO builds.
Configuration menu - View commit details
-
Copy full SHA for 2c18cc1 - Browse repository at this point
Copy the full SHA 2c18cc1View commit details -
In order to get rust-lang/llvm-project#48, which is needed for wasm to work in this PR (rust-lang#70458).
Configuration menu - View commit details
-
Copy full SHA for f86c8aa - Browse repository at this point
Copy the full SHA f86c8aaView commit details
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.