-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
[beta] next #74219
[beta] next #74219
Conversation
Fix a crash when searching for an alias contained in the currently selected filter crate. Also remove alias search results for crates that should be filtered out. The test suite needed to be fixed to actually take into account the crate filtering and check that there are no results when none are expected.
This commit intends to fix an accidental regression from rust-lang#70846. The goal of rust-lang#70846 was to build compiler-builtins with a maximal number of CGUs to ensure that each module in the source corresponds to an object file. This high degree of control for compiler-builtins is desirable to ensure that there's at most one exported symbol per CGU, ideally enabling compiler-builtins to not conflict with the system libgcc as often. In rust-lang#70846, however, only part of the compiler understands that compiler-builtins is built with many CGUs. The rest of the compiler thinks it's building with `sess.codegen_units()`. Notably the calculation of `sess.lto()` consults `sess.codegen_units()`, which when there's only one CGU it disables ThinLTO. This means that compiler-builtins is built without ThinLTO, which is quite harmful to performance! This is the root of the cause from rust-lang#73135 where intrinsics were found to not be inlining trivial functions. The fix applied in this commit is to remove the special-casing of compiler-builtins in the compiler. Instead the build system is now responsible for special-casing compiler-builtins. It doesn't know exactly how many CGUs will be needed but it passes a large number that is assumed to be much greater than the number of source-level modules needed. After reading the various locations in the compiler source, this seemed like the best solution rather than adding more and more special casing in the compiler for compiler-builtins. Closes rust-lang#73135
@bors rollup=never p=20 r+ Should be the last round of beta backports. |
📌 Commit 25ac6de has been approved by |
⌛ Testing commit 25ac6de with merge a9389ffb2d27cb2627cd3e63eae537ded2947b52... |
@bors rollup=never |
@bors yield this failed housr ago |
@bors r- |
@bors r- retry yield |
Emscripten's SDK recently bumped the version of NodeJS they shipped, but our Dockerfile for the wasm32 builder hardcoded the version number. This will cause consistent CI failures once the currently cached image is rebuilt (either due to a change or due to the cache expiring). This commit fixes the problem by finding the latest version of NodeJS in the Emscripten SDK and symlinking it to a "latest" directory, which is then added to the PATH.
📌 Commit 9ce2d97 has been approved by |
⌛ Testing commit 9ce2d97 with merge 639a08d7fede58ed6f8b8c602992cb335c651ea1... |
💔 Test failed - checks-azure |
@bors retry network?
|
💥 Test timed out |
@bors retry |
⌛ Testing commit 9ce2d97 with merge 10604669030dd07625a4b505f45f1543530a3212... |
💥 Test timed out |
@bors retry |
⌛ Testing commit 9ce2d97 with merge 60c3e1f4400a92aeca75600b672f946fca4b3f7f... |
😕 |
💔 Test failed - checks-azure |
@bors retry |
☀️ Test successful - checks-actions, checks-azure |
Backports of:
ExistentialMismatch
Perform obligation deduplication to avoid buggyExistentialMismatch
#73485