-
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
Rollup of 5 pull requests #131098
Rollup of 5 pull requests #131098
Commits on Sep 20, 2024
-
Support clobber_abi and vector/access registers (clobber-only) in s39…
…0x inline assembly
Configuration menu - View commit details
-
Copy full SHA for fa125e2 - Browse repository at this point
Copy the full SHA fa125e2View commit details
Commits on Sep 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for af3f212 - Browse repository at this point
Copy the full SHA af3f212View commit details -
Configuration menu - View commit details
-
Copy full SHA for d87e0ca - Browse repository at this point
Copy the full SHA d87e0caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c552d5 - Browse repository at this point
Copy the full SHA 7c552d5View commit details -
Update wasm-component-ld to 0.5.9
This updates the `wasm-component-ld` linker binary for the `wasm32-wasip2` target to 0.5.9, pulling in a few bug fixes and recent updates.
Configuration menu - View commit details
-
Copy full SHA for 91d0752 - Browse repository at this point
Copy the full SHA 91d0752View commit details
Commits on Oct 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 4529b86 - Browse repository at this point
Copy the full SHA 4529b86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50a6a35 - Browse repository at this point
Copy the full SHA 50a6a35View commit details -
Rollup merge of rust-lang#130630 - taiki-e:s390x-clobber-abi, r=Amanieu
Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly This supports `clobber_abi` which is one of the requirements of stabilization mentioned in rust-lang#93335. This also supports vector registers (as `vreg`) and access registers (as `areg`) as clobber-only, which need to support clobbering of them to implement clobber_abi. Refs: - "1.2.1.1. Register Preservation Rules" section in ELF Application Binary Interface s390x Supplement, Version 1.6.1 (lzsabi_s390x.pdf in https://github.com/IBM/s390x-abi/releases/tag/v1.6.1) - Register definition in LLVM: - Vector registers https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td#L249 - Access registers https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td#L332 I have three questions: - ~~ELF Application Binary Interface s390x Supplement says that `cc` (condition code, bits 18-19 of PSW) is "Volatile". However, we do not have a register class for `cc` and instead mark `cc` as clobbered unless `preserves_flags` is specified (rust-lang#111331). Therefore, in the current implementation, if both `preserves_flags` and `clobber_abi` are specified, `cc` is not marked as clobbered. Is this okay? Or even if `preserves_flags` is used, should `cc` be marked as clobbered if `clobber_abi` is used?~~ UPDATE: resolved rust-lang#130630 (comment) - ~~ELF Application Binary Interface s390x Supplement says that `pm` (program mask, bits 20-23 of PSW) is "Cleared". There does not appear to be any registers associated with this in either [LLVM](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td) or [GCC](https://github.com/gcc-mirror/gcc/blob/33ccc1314dcdb0b988a9276ca6b6ce9b07bea21e/gcc/config/s390/s390.h#L407-L431), so at this point I don't see any way other than to just ignore it. Is this okay as-is?~~ UPDATE: resolved rust-lang#130630 (comment) - Is "areg" a good name for register class name for access registers? It may be a bit confusing between that and `reg_addr`, which uses the “a” constraint (rust-lang#119431)... Note: - GCC seems to [recognize only `a0` and `a1`](https://github.com/gcc-mirror/gcc/blob/33ccc1314dcdb0b988a9276ca6b6ce9b07bea21e/gcc/config/s390/s390.h#L428-L429), and using `a[2-15]` [causes errors](https://godbolt.org/z/a46vx8jjn). Given that cg_gcc has a similar problem with other architecture (rust-lang/rustc_codegen_gcc#485), I don't feel this is a blocker for this PR, but it is worth mentioning here. - `vreg` should be able to accept `#[repr(simd)]` types as input if the `vector` target feature added in rust-lang#127506 is enabled, but core_arch has no s390x vector type and both `#[repr(simd)]` and `core::simd` are unstable, so I have not implemented it in this PR. EDIT: And supporting it is probably more complex than doing the equivalent on other architectures... rust-lang#88245 (comment) cc `@uweigand` r? `@Amanieu` `@rustbot` label +O-SystemZ
Configuration menu - View commit details
-
Copy full SHA for 344b6a1 - Browse repository at this point
Copy the full SHA 344b6a1View commit details -
Rollup merge of rust-lang#131042 - compiler-errors:supertrait-vtable,…
… r=lcnr Instantiate binders in `supertrait_vtable_slot` `supertrait_vtable_slot` was previously using structural equality when probing for the vtable slot, which led to an ICE since we need a *subtype* match, not an exact match. Fixes rust-lang#131027 r? lcnr
Configuration menu - View commit details
-
Copy full SHA for bf38cae - Browse repository at this point
Copy the full SHA bf38caeView commit details -
Rollup merge of rust-lang#131079 - alexcrichton:update-wasm-component…
…-ld, r=jieyouxu Update wasm-component-ld to 0.5.9 This updates the `wasm-component-ld` linker binary for the `wasm32-wasip2` target to 0.5.9, pulling in a few bug fixes and recent updates.
Configuration menu - View commit details
-
Copy full SHA for d007008 - Browse repository at this point
Copy the full SHA d007008View commit details -
Rollup merge of rust-lang#131085 - RalfJung:miri-slow-test, r=tgross35
make test_lots_of_insertions test take less long in Miri This is by far the slowest `std` test in Miri, taking >2min in https://github.com/rust-lang/miri-test-libstd CI. So let's make this `count` smaller. The runtime should be quadratic in `count` so reducing it to around 2/3 of it's previous value should cut the total time down to less than half -- making it still the slowest test, but by less of a margin. (And this way we still insert >64 elements into the HashMap, in case that power of 2 matters.)
Configuration menu - View commit details
-
Copy full SHA for b9263c6 - Browse repository at this point
Copy the full SHA b9263c6View commit details -
Rollup merge of rust-lang#131088 - klensy:llvm-terminfo, r=Kobzol
add fixme to remove LLVM_ENABLE_TERMINFO when minimal llvm version is 19 `LLVM_ENABLE_TERMINFO` was removed in llvm 19: https://github.com/llvm/llvm-project/blob/release/19.x/llvm/docs/ReleaseNotes.rst#changes-to-building-llvm; current minimal llvm is 18, so left fixme here.
Configuration menu - View commit details
-
Copy full SHA for 91f079a - Browse repository at this point
Copy the full SHA 91f079aView commit details