-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Allow inlining for Atomic*::from_ptr
#138804
Conversation
Currently this cannot be inlined, which among other things means it can't be used in `compiler-builtins` [1]. These are trivial functions that should be inlineable, so add `#[inline]`. [1]: rust-lang/compiler-builtins#790 (comment)
@bors r+ rollup |
I believe this statement to be wrong. If you call this function in an optimized build, you will see that it is currently inlined reliably: https://godbolt.org/z/YGE5T1Ghz I am bringing this up in an attempt to be helpful; many contributors abuse the term "inline" to mean either the compiler optimization or LocalCopy instantiation without being clear which, and those concepts are almost entirely orthogonal in theory, but they are conflated (to our detriment) by the current compiler implementation. |
Yeah it's the usual issue that "inline" is often used to mean "MIR-to-LLVM translation happens in the reverse dependencies of this crate". That's the property we actually need here, and Or is that not right? Is the PR not actually going to help for the problem we're trying to solve? |
The MIR inliner can inline anything that is
This PR will fix the compile error that this was created in response to, because with this PR |
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#138609 (Add stack overflow handler for cygwin) - rust-lang#138639 (Clean UI tests 2 of n) - rust-lang#138773 (catch_unwind intrinsic: document return value) - rust-lang#138782 (test(ui): add tuple-struct-where-clause-suggestion ui test for rust-lang#91520) - rust-lang#138794 (expand: Do not report `cfg_attr` traces on macros as unused attributes) - rust-lang#138801 (triagebot: add autolabel rules for D-* and L-*) - rust-lang#138804 (Allow inlining for `Atomic*::from_ptr`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#138804 - tgross35:atomic-from-ptr-inline, r=RalfJung Allow inlining for `Atomic*::from_ptr` Currently this cannot be inlined, which among other things means it can't be used in `compiler-builtins` [1]. These are trivial functions that should be inlineable, so add `#[inline]`. [1]: rust-lang/compiler-builtins#790 (comment)
Currently this cannot be inlined, which among other things means it can't be used in
compiler-builtins
1. These are trivial functions that should be inlineable, so add#[inline]
.r? @RalfJung