-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Make simd_shuffle_indices use valtrees #112718
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Some changes occurred in src/tools/clippy cc @rust-lang/clippy Some changes occurred to the CTFE / Miri engine cc @rust-lang/miri |
let val = cx.tcx.destructure_mir_constant(cx.param_env, val); | ||
val.fields.iter().any(|field| inner(cx, *field)) | ||
ty::Array(ty, _) => { | ||
val.unwrap_branch().iter().any(|field| inner(cx, *field, ty)) |
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 don't know enough of valtrees. Is there code which emits an error if this is not a branch?
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.
The compiler created a bad valtree if a valtree of array type is not a branch. So we don't report an error, but we never get a Some
from eval_const_to_valtree
.destructure_mir_constant(ty::ParamEnv::reveal_all(), c) | ||
.fields | ||
let values: Vec<_> = val | ||
.unwrap_branch() |
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.
Which code emits an error if this is not a branch?
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.
same for adts.
☔ The latest upstream changes (presumably #113022) made this pull request unmergeable. Please resolve the merge conflicts. |
8ad9571
to
1c992c0
Compare
@rustbot ready |
@bors r+ |
…, r=cjgillot Make simd_shuffle_indices use valtrees This removes the second-to-last user of the `destructure_mir_constant` query. So in a follow-up we can remove the query and just move the query provider function directly into pretty printing (which is the last user). cc `@rust-lang/clippy` there's a small functional change, but I think it is correct?
…, r=cjgillot Make simd_shuffle_indices use valtrees This removes the second-to-last user of the `destructure_mir_constant` query. So in a follow-up we can remove the query and just move the query provider function directly into pretty printing (which is the last user). cc ``@rust-lang/clippy`` there's a small functional change, but I think it is correct?
⌛ Testing commit 1c992c0 with merge 642527ae563c8e8a5b38ee984d1b8b24dde92faa... |
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
@bors retry |
⌛ Testing commit 1c992c0 with merge bfb2944298bd7549a8d905036a59c09dc69525f7... |
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
@bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (72b2101): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesResultsThis 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 sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 662.143s -> 662.283s (0.02%) |
…r=cjgillot Make simd_shuffle_indices use valtrees This removes the second-to-last user of the `destructure_mir_constant` query. So in a follow-up we can remove the query and just move the query provider function directly into pretty printing (which is the last user). cc `@rust-lang/clippy` there's a small functional change, but I think it is correct?
This removes the second-to-last user of the
destructure_mir_constant
query. So in a follow-up we can remove the query and just move the query provider function directly into pretty printing (which is the last user).cc @rust-lang/clippy there's a small functional change, but I think it is correct?