-
Notifications
You must be signed in to change notification settings - Fork 14k
Rollup of 12 pull requests #149351
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 12 pull requests #149351
Conversation
instead of legacy mangling to avoid linker errors
ARM has withdrawn FEAT_TME https://developer.arm.com/documentation/102105/lb-05/ LLVM has dropped support for it recently as a result.
This works better with non-LLVM codegen backends.
This is required for the soundness of options(may_unwind)
…g default elements one by one
Also, use `Vec::resize` instead of individual `push`es
… take `&mut Vec`
Offload intrinsic
This PR implements the minimal mechanisms required to run a small subset of arbitrary offload kernels without relying on hardcoded names or metadata.
- `offload(kernel, (..args))`: an intrinsic that generates the necessary host-side LLVM-IR code.
- `rustc_offload_kernel`: a builtin attribute that marks device kernels to be handled appropriately.
Example usage (pseudocode):
```rust
fn kernel(x: *mut [f64; 128]) {
core::intrinsics::offload(kernel_1, (x,))
}
#[cfg(target_os = "linux")]
extern "C" {
pub fn kernel_1(array_b: *mut [f64; 128]);
}
#[cfg(not(target_os = "linux"))]
#[rustc_offload_kernel]
extern "gpu-kernel" fn kernel_1(x: *mut [f64; 128]) {
unsafe { (*x)[0] = 21.0 };
}
```
Fix some issues around `rustc_public` cc rust-lang#148266 . follow-up of rust-lang#148341 . This fixes the issues that can be reproduced by `x test compiler/rustc_public`: ``` error: function `run` is never used --> compiler/rustc_public/src/compiler_interface.rs:838:15 | 838 | pub(crate) fn run<'tcx, F, T>(interface: &CompilerInterface<'tcx>, f: F) -> Result<T, Error> | ^^^ | = note: `-D dead-code` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(dead_code)]` error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:25:1 | 25 | pub trait InternalCx<'tcx>: Copy + Clone { | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates = note: `-D unreachable-pub` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unreachable_pub)]` error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:62:1 | 62 | pub trait Stable<'tcx>: PointeeSized { | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:81:1 | 81 | pub trait RustcInternal { | ---^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates error: could not compile `rustc_public` (lib) due to 4 previous errors ```
…jackh726 Mangle symbols with a mangled name close to PDB limits with v0 instead of legacy mangling to avoid linker errors This is rust-lang/compiler-team#934 As PDB debuginfo has a 64KiB limit for symbol names, we use v0 mangling instead of legacy mangling for symbol names >= 65000 bytes if PDB is used. The cutoff number was chosen to leave some room for potential errors in the empirical measurement of the limit of 65521 bytes, as well as potential symbol prefixes and suffixes that are applied later, plus some generous extra space. Tracking issue: rust-lang#148429
…rcoieni Build gnullvm toolchains on Windows natively Fixes rust-lang#144656
rustc_target: aarch64: Remove deprecated FEAT_TME fixes rust-lang#149308 ARM has withdrawn FEAT_TME https://developer.arm.com/documentation/102105/lb-05/ LLVM has dropped support for generating it llvm/llvm-project#167687 ```@rustbot``` label llvm-main r? ```@durin42```
…/misc-cleanups, r=GuillaumeGomez [rustdoc] misc search index cleanups Bunch of misc cleanups to search index generation (on the rustdoc side). Perf isn't improved unfortunately, but I do think most of these changes are improvements to readability/style. Probably easier to review commit by commit.
…r=RalfJung Use rust rather than LLVM target features in the target spec This works better with non-LLVM codegen backends.
…, r=fmease Deny const auto traits close rust-lang#149285 The AST validation now detects and rejects const auto traits. Additionally, I updated an existing test that was using `const unsafe auto trait`. r? fmease
…ywiser Mark riscv64gc-unknown-linux-musl as tier 2 target According to https://github.com/rust-lang/rust/blob/cdb4236e654a49c3035269588fe22dfafc0cfa3a/src/doc/rustc/src/platform-support/riscv64gc-unknown-linux-musl.md?plain=1#L3 it's tier 2 target. In case you are wondering how I noticed it: Dockerfiles at Wild linker repo started to fail building recently due to missing `riscv64gc-unknown-linux-musl` std. I had hoped the problem would go away by itself, but it did not (it never does...). rust-lang#148983 happened recently, so I checked https://rust-lang.github.io/rustup-components-history/riscv64gc-unknown-linux-musl.html and yeah, the date matches. Given this condition: https://github.com/rust-lang/rust/blob/cdb4236e654a49c3035269588fe22dfafc0cfa3a/src/tools/build-manifest/build.rs#L35 I'm certain PR will fix the problem.
|
Rollup of everything. @bors r+ rollup=never p=5 |
|
Double-checking that this doesn't (currently) run into #149342 (comment): @bors try jobs=test-various |
This comment has been minimized.
This comment has been minimized.
Rollup of 12 pull requests try-job: test-various
|
☀️ Test successful - checks-actions |
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 c797096 (parent) -> 99ca3fc (this PR) Test differencesShow 188 test diffsStage 0
Stage 1
Stage 2
(and 68 additional test diffs) Additionally, 20 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 99ca3fc4ec35e11d1f034143e8d8f0b79ef4c1d7 --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 |
|
📌 Perf builds for each rolled up PR:
previous master: c797096598 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (99ca3fc): comparison URL. Overall result: ❌ regressions - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@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 (secondary -3.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 470.439s -> 475.097s (0.99%) |
This comment has been minimized.
This comment has been minimized.
This comment was marked as resolved.
This comment was marked as resolved.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (29cfccd): comparison URL. Overall result: ❌ regressions - please read the text belowInstruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 470.439s -> 469.615s (-0.18%) |
Successful merges:
rustc_public#148358 (Fix some issues aroundrustc_public)Clonederive onDelayedLint#149326 (Remove unusedClonederive onDelayedLint)Copyto some AST enums. #149341 (AddCopyto some AST enums.)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup