-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rollup of 11 pull requests #140682
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 11 pull requests #140682
Conversation
This can provide more opportunities for MatchBranchSimplification.
Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
This commit does the following: - Replaces use of rustc_type_ir by rustc_middle in rustc_infer. - The DelayedMap type is exposed by rustc_middle so everything can be accessed through rustc_middle in a coherent manner. - API-layer traits, like InferCtxtLike, Interner or inherent::* must be accessed via rustc_type_ir, not rustc_middle::ty. For this reason these are not reexported by rustc_middle::ty. - Replaces use of ty::Interner by rustc_type_ir::Interner in rustc_trait_selection
Trying to understand panics triggered by `t` macro calls is very exhausting (especially on CI failures) because it doesn't provide any information about where the macro was originally invoked. This change adds that missing information when an inner call inside the `t` macro panics. Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
mir-opt: Use one MirPatch in MatchBranchSimplification
mir-opt: execute MatchBranchSimplification after GVN This can provide more opportunities for MatchBranchSimplification. Currently, rustc does not optimize the following code into a single statement at mir-opt, and this PR fixes the first case. ```rust pub fn match1(c: bool, v1: i32, v2: i32) -> i32 { if c { v1 - v2 } else { v1 - v2 } } pub fn match2(c: bool, v1: i32) -> i32 { if c { v1 - 1 } else { v1 - 1 } } ``` https://rust.godbolt.org/z/Y8xPMjrfM r? mir-opt
bypass linker configuration and cross target check on `x check` I was going to handle this using the untracked env approach, but I realized it somehow doesn't regress rust-lang#130108 anymore... Anyway, if it works, it works. 😄 No need to dig deeper but my guess is we moved some cache-invalidating env from these functions to others. Fixes rust-lang#133840 try-job: aarch64-apple
…lcnr Resolve instance for SymFn in global/naked asm `Instance::expect_resolve` ensures that we're actually going from trait item -> impl item. Fixes rust-lang#140373
…compiler-errors Removing rustc_type_ir in the rustc_infer codebase cc rust-lang#138449 This is a second refactoring of rustc_type_ir to use rustc_middle instead, this time that's for rustc_infer
…mpiler-errors `fn check_opaque_type_parameter_valid` defer error Will be used in rust-lang#139587 to silence opaque type errors if there are other borrowck failures. I think it can be merged separately. r? `@compiler-errors`
…ro, r=Kobzol implement `PanicTracker` to track `t` panics Trying to understand panics triggered by `t` macro is very exhausting (especially on CI failures) because it doesn't provide any information about where the macro was originally invoked. This change adds that missing information when an inner call inside the `t` macro panics. Resolves rust-lang#137557
Make `-Zfixed-x18` into a target modifier As part of rust-lang#136966, the `-Zfixed-x18` flag should be turned into a target modifier. This is a blocker to stabilization of the flag. The flag was originally added in rust-lang#124655 and the MCP for its addition is [MCP#748](rust-lang/compiler-team#748). On some aarch64 targets, the x18 register is used as a temporary caller-saved register by default. When the `-Zfixed-x18` flag is passed, this is turned off so that the compiler doesn't use the x18 register. This allows end-users to use the x18 register for other purposes. For example, by accessing it with inline asm you can use the register as a very efficient thread-local variable. Another common use-case is to store the stack pointer needed by the shadow-call-stack sanitizer. There are also some aarch64 targets where not using x18 is the default – in those cases the flag is a no-op. Note that this flag does not *on its own* cause an ABI mismatch. What actually causes an ABI mismatch is when you have different compilation units that *disagree* on what it should be used for. But having a CU that uses it and another CU that doesn't normally isn't enough to trigger an ABI problem. However, we still consider the flag to be a target modifier in all cases, since it is assumed that you are passing the flag because you intend to assign some other meaning to the register. Rejecting all flag mismatches even if not all are unsound is consistent with [RFC#3716](https://rust-lang.github.io/rfcs/3716-target-modifiers.html). See the headings "not all mismatches are unsound" and "cases that are not caught" for additional discussion of this. On aarch64 targets where `-Zfixed-x18` is not a no-op, it is an error to pass `-Zsanitizer=shadow-call-stack` without also passing `-Zfixed-x18`.
calculate step duration in a panic-safe way obvious/self-explanatory change. Fixes rust-lang#129959
…r=lcnr Deeply normalize in the new solver in WF We need to deeply normalize types we check for well-formedness, since we only collect implied bounds from normalized signature types. Fixes rust-lang/trait-system-refactor-initiative#194 r? lcnr
Update books ## rust-lang/reference 9 commits in 3bf3402aea982b876eb56c87da17b0685c6461d5..387392674d74656f7cb437c05a96f0c52ea8e601 2025-05-03 21:29:09 UTC to 2025-04-22 15:25:03 UTC - Document `let_chains` again (rust-lang/reference#1740) - Add: orphan rule rationale. (rust-lang/reference#1755) - Remove apologies about the Reference (rust-lang/reference#1792) - Clean up some inline assembly examples (rust-lang/reference#1804) - Remove StructExprTuple and StructExprUnit (rust-lang/reference#1803) - Improve documentation of struct expressions (rust-lang/reference#1799) - Clarify interaction of asm-goto with IBT (rust-lang/reference#1790) - naked functions (rust-lang/reference#1689) - Relabel grammarRailroad-Button (rust-lang/reference#1798) ## rust-lang/rust-by-example 3 commits in 0d7964d5b22cf920237ef1282d869564b4883b88..8a8918c698534547fa8a1a693cb3e7277f0bfb2f 2025-04-30 12:20:49 UTC to 2025-04-22 17:42:30 UTC - The example is not meant to be compiled. Changed the code block ann… (rust-lang/rust-by-example#1926) - Non-tail recursive call note in testcase_linked_list.md (rust-lang/rust-by-example#1924) - docs: mark illustrative 'static lifetime example with `ignore` (rust-lang/rust-by-example#1923)
@bors r+ p=5 rollup=never |
☀️ 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 2e6882a (parent) -> 4a0969e (this PR) Test differencesShow 33134 test diffsStage 1
Stage 2
(and 16482 additional test diffs) Additionally, 16552 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 4a0969e06dbeaaa43914d2d00b2e843d49aa3886 --output-dir test-dashboard And 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: 2e6882ac5b In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (4a0969e): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary -0.2%, secondary -2.4%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary 1.3%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeResults (primary 0.0%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 770.068s -> 770.615s (0.07%) |
Successful merges:
x check
#140357 (bypass linker configuration and cross target check onx check
)fn check_opaque_type_parameter_valid
defer error #140605 (fn check_opaque_type_parameter_valid
defer error)PanicTracker
to trackt
panics #140636 (implementPanicTracker
to trackt
panics)-Zfixed-x18
into a target modifier #140661 (Make-Zfixed-x18
into a target modifier)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup