Rollup of 5 pull requests#159498
Conversation
It is used once, when marking a `rustc_thread_pool` worker thread as blocked. `rustc_thread_pool` already has access to the jobserver proxy, so we can move its use from outside of `mark_blocked` to inside of it.
- `floorf16` - `ceilf16` - `truncf16,` - `round_ties_even_f16` - `roundf16` - `powif16` - `sqrtf16` - `fmaf16`
…he supported API levels
…=workingjubilee
[cg_ssa] Eliminate the `is_backend_{immediate,scalar_pair,ref}` methods
These methods are just mostly just matches on [`BackendRepr`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_abi/enum.BackendRepr.html) now, which makes then not not very valuable. Notably, `cg_clif` gets along just fine without them. In general, it's much nicer to match on `BackendRepr` than to use an `if`-`else` chain of `is_zst`+`is_backend_immediate`+`is_backend_scalar_pair`.
And having them be on `LayoutTypeCodegenMethods` means you need a context to use them, making it more annoying to use them in things like [`OperandValue::is_expected_variant_for_type`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/operand/enum.OperandValue.html#method.is_expected_variant_for_type).
So this just removes them, as well as the `is_llvm_*` and `is_gcc_*` versions.
How I migrated callers:
- `is_backend_ref` becomes a (logical-not-ed) call to a new `.is_ssa_standalone()` method. (Better name suggestions welcome for this one. I wanted something to hopefully phrase intent better and positively.)
- `is_backend_immediate` becomes a call to `.backend_repr.is_scalar_or_simd()`.
- `is_backend_scalar_pair` becomes a pattern-match against `BackendRepr::ScalarPair { .. }`.
- some places that used multiples just became a match over `BackendRepr`.
The intent is that this has zero impact on the codegen. It should be a refactor only.
r? codegen
…, r=tgross35 add a fallback for more `f16` intrinsics tracking issue: rust-lang#116909 Add several more fallbacks for `f16` intrinsics, so that they will work on platforms without the corresponding libcalls. related - rust-lang/rustc_codegen_cranelift#1675 - rust-lang/rustc_codegen_cranelift#1674 - rust-lang#150946
…s, r=RalfJung update 'allocation' docs with memory atomicity requirement r? @RalfJung As discussed [on zulip](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/Region-based.20Atomic.20Capabilities/near/607225972)
rustc: Avoid passing jobserver proxy around the compiler It is used once, when marking a `rustc_thread_pool` worker thread as blocked. `rustc_thread_pool` already has access to the jobserver proxy, so we can move its use from outside of `mark_blocked` to inside of it. (The modified part of `rustc_thread_pool` is a rustc-specific extension, not an original rayon-core API.) This is a simpler cleanup subset of rust-lang#155997. r? @nnethercote
…kang Android platform support: add links to make it easier to figure out the supported API levels @Joel-Wwalker @maurer are these the right links to put here, or are there better ones?
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: 637236889f In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 6372368 (parent) -> b26c8ef (this PR) Test differencesShow 234 test diffs234 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard b26c8ef0535b2de24a0af4048370caf449eebabd --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (b26c8ef): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.3%, secondary 1.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 488.864s -> 492.122s (0.67%) |
Successful merges:
is_backend_{immediate,scalar_pair,ref}methods #159164 ([cg_ssa] Eliminate theis_backend_{immediate,scalar_pair,ref}methods)f16intrinsics #159175 (add a fallback for moref16intrinsics )r? @ghost
Create a similar rollup