-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Add ConstKind::Expr
#99798
Add ConstKind::Expr
#99798
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5a83027
to
bc5d4fe
Compare
Some changes occurred to the CTFE / Miri engine cc @rust-lang/miri This PR changes MIR cc @oli-obk, @RalfJung, @JakobDegen, @davidtwco, @celinval, @vakaras Some changes occurred in compiler/rustc_codegen_cranelift cc @bjorn3 |
This will probably require a perf run, considering the size of consts increased, and if there's any alternative way to store consts more efficiently that would also be useful. |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 55f46fc49a77c65c10117d9b412a0061dc2355e5 with merge e5e10c53062b74626dfbbe444c6526d38982715b... |
☀️ Try build successful - checks-actions |
Queued e5e10c53062b74626dfbbe444c6526d38982715b with parent 2f847b8, future comparison URL. |
Finished benchmarking commit (e5e10c53062b74626dfbbe444c6526d38982715b): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. @bors rollup=never Footnotes |
a210ed4
to
6cd8f41
Compare
Since the size of the const is the same, I wonder if the perf changes are caused by an increased number of branches, causing it to switch from a jump table to an explicit search? |
This comment has been minimized.
This comment has been minimized.
@bors r+ rollup=never |
☀️ Test successful - checks-actions |
Finished benchmarking commit (aff003b): comparison URL. Overall result: ❌ regressions - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @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.
|
Previous perf runs showed slight improvements, but the post-merge one shows regressions. They are mostly among secondary benchmarks. |
…i-obk stop using `ty::UnevaluatedConst` directly best reviewed commit by commit. simplifies rust-lang#99798 because we now don't have to expand `ty::UnevaluatedConst` to `ty::Const`. I also remember some other places where using `ty::UnevaluatedConst` directly was annoying and caused issues, though I don't quite remember what they were rn '^^ r? `@oli-obk` cc `@JulianKnodt`
Starting to implement
ty::ConstKind::Abstract
, most of the match cases are stubbed out, some I was unsure what to add, others I didn't want to add until a more complete implementation was ready.r? @lcnr