Rollup of 8 pull requests#158946
Closed
jhpratt wants to merge 22 commits into
Closed
Conversation
Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
Storage is still required even if the local is moved out and immediately moved in again. Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
Same as rust-lang/rust/147495, just keeping it up-to-date.
in `is_call_from_compiler_builtins_to_upstream_monomorphization`, suggested by Saethlin
We'll do this using `-Zforce-intrinsic-fallback` in the main repo going forward
A number of float operations from libm have intrinsics for optimization, but it is also okay to just call the libm functions directly. Add a fallback for these cases, including converting to/from another float size where needed, so the backends don't need to override these. We do not add a fallback body for intrinsics that have a softfloat implementation (e.g. sqrt, fma), because it would make them harder to constify later.
Emscripten targets wasm32 but provides a working POSIX fd layer, including fcntl(F_DUPFD_CLOEXEC) and dup2(), so it should use the real implementations rather than the wasm32 UNSUPPORTED_PLATFORM stubs: - try_clone_to_owned now uses fcntl(F_DUPFD_CLOEXEC) instead of returning UNSUPPORTED_PLATFORM - replace_stdio_fd now uses dup2() instead of the wasm32 fallback
… r=RalfJung,saethlin intrinsics: Add a fallback for non-const libm float functions A number of float operations from libm have intrinsics for optimization, but it is also okay to just call the libm functions directly. Add a fallback for these cases, including converting to/from another float size where needed, so the backends don't need to override these.
…cjgillot Fix coroutine MIR saved local remapping The unsound analysis was found while I was working on the `async-drop` code. Apparently the counter variable in the array drop glue is not correctly identified as a saved local. Also we did not patch up indices in `ProjectionElem::Index` when they are saved locals. The reproduction is in the older commit with the expected output.
…ingjubilee Carry the `b_offset` inside `BackendRepr::ScalarPair` Inspired by rust-lang/compiler-team#1007 but doesn't actually change any of the layout rules just yet. This turned out to be a nice change even if we didn't use the extra flexibility, IMHO, because it allowed so many things like ```diff @@ -222,12 +224,12 @@ fn from_const_alloc<Bx: BuilderMethods<'a, 'tcx, Value = V>>( let val = read_scalar(offset, size, s, bx.immediate_backend_type(layout)); OperandRef { val: OperandValue::Immediate(val), layout, move_annotation: None } } - BackendRepr::ScalarPair( - a @ abi::Scalar::Initialized { .. }, - b @ abi::Scalar::Initialized { .. }, - ) => { + BackendRepr::ScalarPair { + a: a @ abi::Scalar::Initialized { .. }, + b: b @ abi::Scalar::Initialized { .. }, + b_offset, + } => { let (a_size, b_size) = (a.size(bx), b.size(bx)); - let b_offset = (offset + a_size).align_to(b.default_align(bx).abi); assert!(b_offset.bytes() > 0); let a_val = read_scalar( offset, ``` as *oh my* was that little magic incantation copy-pasted all over the place. Apologies for the pretty-giant PR. I tried to make it as direct a change as I could: if it was `(..)` before it's `{ .. }` now, if it was `(_, _)` before it's `{ a: _, b: _, b_offset: _ }` now. I kept the names the same so the code lines were unchanged even if normally I might have just renamed things, etc. I'll add some inline notes for places of particular interest. r? @workingjubilee
…-ld, r=lqd Update wasm-component-ld to 0.5.26 Same as rust-lang#147495, just keeping it up-to-date.
wrapping_sh* methods: clarify underspecified reference Reading these docs, it was not clear to me whether "the behavior" here refers to the behavior described in the previous sentence, or the behavior of this method. Let's clarify that. Cc @scottmcm who wrote these docs (rust-lang#149837)
…nthey Stabilize `VecDeque::retain_back` from `truncate_front` Tracking issue: rust-lang#140667 Closes: rust-lang#140667 @rustbot label -T-libs +T-libs-api +needs-fcp +S-waiting-on-fcp r? t-libs-api
…est, r=jieyouxu Update `browser-ui-test` version to `0.24.1` Fixes rust-lang#157747. It includes GuillaumeGomez/browser-UI-test#749. Hopefully this flaky issue won't be anymore. r? @jieyouxu
…jhpratt std: support real fd methods on Emscripten Emscripten targets wasm32 but provides a working POSIX fd layer, including `fcntl(F_DUPFD_CLOEXEC)` and `dup2()`, so it should use the real implementations rather than the wasm32 `UNSUPPORTED_PLATFORM` stubs: - `try_clone_to_owned` now uses `fcntl(F_DUPFD_CLOEXEC)` instead of returning `UNSUPPORTED_PLATFORM` - `replace_stdio_fd` now uses `dup2()` instead of the `wasm32` fallback
Member
Author
|
@bors r+ rollup=never p=5 |
Contributor
Member
|
Closing in favour of bigger rollup: #158953 |
Contributor
|
This pull request was unapproved due to being closed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Successful merges:
b_offsetinsideBackendRepr::ScalarPair#158666 (Carry theb_offsetinsideBackendRepr::ScalarPair)VecDeque::retain_backfromtruncate_front#151379 (StabilizeVecDeque::retain_backfromtruncate_front)browser-ui-testversion to0.24.1#158913 (Updatebrowser-ui-testversion to0.24.1)r? @ghost
Create a similar rollup