Repository navigation
Rollup of 7 pull requests - #165876
Rollup of 7 pull requests#165876
Conversation
LLVM intrinsics must always use extern "llvm-intrinsic" and extern "llvm-intrinsic" must only be used for actual LLVM intrinsics.
Signed-off-by: Xubai Wang <xubaiwwj@gmail.com>
Aggregates of up to 64 bits were always cast to an i32/i64, even when
no argument registers were left. LLVM then placed the i64 in an
8-byte aligned stack slot, but the ABI (section 5.1) says stack arguments
follow the normal alignment rules of the type, so a `{ i32, i32 }` must
be 4-aligned.
Track the remaining arg regs. When an aggregate no longer fits in
registers, pass it by value on the stack with its natural alignment.
Aggregates passed or returned in registers now use the smallest
type.
…name, r=dingxiangfei2009 Tie extern "llvm-intrinsics" and llvm.* symbol names together LLVM intrinsics must always use extern "llvm-intrinsic" and extern "llvm-intrinsic" must only be used for actual LLVM intrinsics. Follow up to rust-lang#161398
…hread, r=petrochenkov Explicitly drop job server helper thread An adaptation of an LLM patch that was generated in https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/Interaction.20of.20Cargo.20jobserver.20tests.20and.20parallel.20frontend/with/639482582. The original patch consisted from two fixes: explicit drop of a helper thread and additional logic for job server token request counting. This PR implements only the explicit drop part as I don't see how additional requests counting logic should help the issue. This reworks rust-lang#165676, as the [rationale](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/Interaction.20of.20Cargo.20jobserver.20tests.20and.20parallel.20frontend/near/639152114) behind explicit drop of a helper thread seems reasonable for me: > From my rough understanding, while helper is handling a token, its upgrade() is often the last strong ref I guess. So, when run_in_thread_pool_with_globals returns and rustc exits, the token may still be in helper's hands. This fix didn't fail after several launches in rust-lang#165506 and locally. r? @petrochenkov
replace `TypingEnv::post_analysis()` with `mir::Body::typing_env()` This PR fixes the correspondence between typing modes and MIR phases so that some passes don't have to fix that inconsistency themselves. Similar to rust-lang#163745 We should discourage constructing a typing env by hand when it can be derived from context. This simplifies reasoning and reduces the mistake of not resetting rigidness markers across typing envs. r? lcnr
…ates, r=folkertdev
hexagon: pass small aggregates on the stack when registers run out
Aggregates of up to 64 bits were always cast to an i32/i64, even when no argument registers were left. LLVM then placed the i64 in an 8-byte aligned stack slot, but the ABI (section 5.1) says stack arguments follow the normal alignment rules of the type, so a `{ i32, i32 }` must be 4-aligned.
Track the remaining arg regs. When an aggregate no longer fits in registers, pass it by value on the stack with its natural alignment. Aggregates passed or returned in registers now use the smallest type.
…risDenton
Mention width limit panic in fmt doc
`format!` will panic if dynamic width exceeds 65535. Mention this in the doc.
```rust
fn main() {
println!("Hello {:width$}!", "x", width = 65536);
}
// thread 'main' (2688852) panicked at src/main.rs:2:5:
// Formatting argument out of range
// note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
…nthey Fix inverted wasm cfg in core benchmarks It restores the correct cfg configuration in coretests. The mistake is introduced in rust-lang#163794 .
Cleanup: Remove `name` from `AttributeExt` The method is only used on `ast::Attribute`, the hir method was completely unused.
|
@bors r+ p=5 force |
This comment has been minimized.
This comment has been minimized.
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 29a5d06 (parent) -> 8eb778d (this PR) Test differencesShow 1281 test diffsStage 1
Stage 2
(and 1096 additional test diffs) Additionally, 85 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 8eb778d04094d3af4b26580cab327e0413eb1e02 --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 (8eb778d): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary -2.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -5.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 484.783s -> 488.192s (0.70%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 29a5d066d9 In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
The sidebar reversed the Commits tab's list to put the newest commit on top. It now keeps the tab's order, oldest first, and each row shows its date between the subject and the short sha: "3h ago" within the last day, "Nov 12" earlier this year, "2025-11-12" before that, in the viewer's time zone, with the full timestamp in a tooltip. The date is the committer date. The Commits tab orders and groups by it; a rebase keeps the author date, so in rust-lang/rust#165876 the author dates run backwards (9549f82, authored Oct 10, follows bd23dae, authored Nov 3) while the committer dates rise. The route already carries committedDate, so no request is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Successful merges:
TypingEnv::post_analysis()withmir::Body::typing_env()#164077 (replaceTypingEnv::post_analysis()withmir::Body::typing_env())namefromAttributeExt#165871 (Cleanup: RemovenamefromAttributeExt)r? @ghost
Create a similar rollup