-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Do not spill operand debuginfo to stack for AArch64 SVE predicates <vscale x N x i1> where N != 16
#150420
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
Conversation
|
r? @davidtwco |
b05e0a6 to
ed1a5e7
Compare
This comment has been minimized.
This comment has been minimized.
ed1a5e7 to
0479d98
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a few comments about comments and a minor quibble about where to put the test.
|
Reminder, once the PR becomes ready for a review, use |
0479d98 to
4c485a4
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@rustbot ready |
|
Excellent, excellent, happy to have it. @bors r+ rollup |
…uwer Rollup of 3 pull requests Successful merges: - #150058 (Enable file locking support for Hurd) - #150420 (Do not spill operand debuginfo to stack for AArch64 SVE predicates `<vscale x N x i1>` where `N != 16`) - #150501 (Fix Typos in Platform Support Tables) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #150420 - h3fang:sve-debuginfo-fix, r=workingjubilee Do not spill operand debuginfo to stack for AArch64 SVE predicates `<vscale x N x i1>` where `N != 16` This pull request tries to fix #150419. The debuginfo for AArch64 SVE predicates `<vscale x N x i1>` where `N != 16` should be ignored by this [commit](89eea57). https://github.com/rust-lang/rust/blob/89eea57594e3e1d8e618dd530ea1c8e7c9b4c7a4/compiler/rustc_codegen_ssa/src/mir/debuginfo.rs#L438-L452 But in line 446, the `marker_type.kind()` is `ty::Bool` instead of `ty::Slice`, so the code doesn't work as intended. This pull request uses the [`Ty::scalable_vector_element_count_and_type`](https://github.com/rust-lang/rust/blob/main/compiler/rustc_middle/src/ty/sty.rs#L1272) method to fix the condition checks for `<vscale x N x i1>` where `N != 16` and add a compiletest for this case.
|
Thanks for this fix @h3fang and for handling the review @workingjubilee! |
This pull request tries to fix #150419.
The debuginfo for AArch64 SVE predicates
<vscale x N x i1>whereN != 16should be ignored by this commit.rust/compiler/rustc_codegen_ssa/src/mir/debuginfo.rs
Lines 438 to 452 in 89eea57
But in line 446, the
marker_type.kind()isty::Boolinstead ofty::Slice, so the code doesn't work as intended.This pull request uses the
Ty::scalable_vector_element_count_and_typemethod to fix the condition checks for<vscale x N x i1>whereN != 16and add a compiletest for this case.