-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Stop backends from needing to support nullary intrinsics #142839
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
Some changes occurred to the intrinsics. Make sure the CTFE / Miri interpreter cc @rust-lang/miri, @RalfJung, @oli-obk, @lcnr Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri Some changes occurred in compiler/rustc_codegen_cranelift cc @bjorn3 Some changes occurred to the CTFE machinery Some changes occurred in compiler/rustc_codegen_ssa |
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Stop backends from needing to support nullary intrinsics And then remove our infrastructure special casing them. Further improvements can now be done to them by avoiding the intermediate ConstValue step, but let's leave that to follow up work r? `@ghost` wanna see perf first
This comment has been minimized.
This comment has been minimized.
|
||
match intrinsic_name { | ||
sym::type_name => { |
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.
nit: I see this is a code-move & fixup to work in here, but is it worth sorting these arms into the rest of the match? though I guess the other arms are also not sorted simply... it was mostly that needs_drop
is between type_id
& type_name
that caught my eye hehe
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.
yea, could do that, good point. didn't want to do it in the first commit to kinda make the diff line up
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (a5e9784): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 3.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.7%, secondary -6.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 691.091s -> 687.91s (-0.46%) |
a44843e
to
1dd711a
Compare
This comment has been minimized.
This comment has been minimized.
1dd711a
to
93129de
Compare
This comment has been minimized.
This comment has been minimized.
93129de
to
5952269
Compare
Some changes occurred in compiler/rustc_codegen_gcc |
5952269
to
2082fe8
Compare
This comment has been minimized.
This comment has been minimized.
2082fe8
to
cdb3a21
Compare
This comment has been minimized.
This comment has been minimized.
cdb3a21
to
7c1059f
Compare
This comment has been minimized.
This comment has been minimized.
Reminder, once the PR becomes ready for a review, use |
This comment has been minimized.
This comment has been minimized.
The Miri subtree was changed cc @rust-lang/miri |
@rustbot ready |
The core parts LGTM, but I have no idea how to review the stable MIR test changes. |
☔ The latest upstream changes (presumably #143091) made this pull request unmergeable. Please resolve the merge conflicts. |
The test changes make sense to me. Thanks for checking! |
Thanks! r=RalfJung,celinval after a rebase. |
…itly deciding not to
4698db1
to
d0bb9a7
Compare
@bors r=RalfJung,celinval rollup |
@bors 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 f191420 (parent) -> ad3b725 (this PR) Test differencesNo test diffs found Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard ad3b7257615c28aaf8212a189ec032b8af75de51 --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 |
Finished benchmarking commit (ad3b725): comparison URL. Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILEDOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression ❗ ❗ ❗ ❗ ❗
❗ ❗ ❗ ❗ ❗ cc @rust-lang/wg-compiler-performance Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.9%, secondary -1.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 695.172s -> 694.099s (-0.15%) |
You can ignore the failure, it's a (temporary) bug in the benchmark suite. EDIT: fixed now |
And then remove our infrastructure special casing them. Further improvements can now be done to them by avoiding the intermediate ConstValue step, but let's leave that to follow up work
r? @RalfJung