-
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
Optimize mk_region
#108020
Optimize mk_region
#108020
Conversation
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
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.
r=me when perf comes back green, looks good to me.
edit: oh, also seems to need a rebase.
bea00b5
to
a6d704e
Compare
Thanks for the fast review! @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit a6d704eb87efb0a15e1d6b49ab44a8088ae5576f with merge 87ab11387193414f9cbceff868dd2f1f59f60803... |
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
BTW, I tried similar things with |
Finished benchmarking commit (87ab11387193414f9cbceff868dd2f1f59f60803): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking 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 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.
CyclesThis benchmark run did not return any relevant results for this metric. |
@bors r=compiler-errors |
📌 Commit a6d704eb87efb0a15e1d6b49ab44a8088ae5576f has been approved by It is now in the queue for this repository. |
☔ The latest upstream changes (presumably #108052) made this pull request unmergeable. Please resolve the merge conflicts. |
It's not used on any hot paths, and so has little perf benefit, and it interferes with the optimizations in the following commits.
Much like there are specialized variants of `mk_ty`. This will enable some optimization in the next commit. Also rename the existing `re_error*` functions as `mk_re_error*`, for consistency.
a6d704e
to
9a53cee
Compare
I rebased. @bors r=compiler-errors |
@bors retry |
The job Click to see the possible cause of the failure (guessed by this bot)
|
☀️ Test successful - checks-actions |
1 similar comment
☀️ Test successful - checks-actions |
Finished benchmarking commit (c5d1b3e): comparison URL. Overall result: ❌✅ regressions and 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.
CyclesThis benchmark run did not return any relevant results for this metric. |
Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 Unify validity checks into a single query rust-lang/rust#108364 s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 Switch to EarlyBinder for type_of query rust-lang/rust#107753 Rename interner funcs rust-lang/rust#108250 Optimize mk_region rust-lang/rust#108020 Clarify iterator interners rust-lang/rust#108112
- Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 - Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Switch to EarlyBinder for type_of query rust-lang/rust#107753 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
- Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 - Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Switch to EarlyBinder for type_of query rust-lang/rust#107753 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
- Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 - Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Switch to EarlyBinder for type_of query rust-lang/rust#107753 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
- Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 - Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Switch to EarlyBinder for type_of query rust-lang/rust#107753 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
- Remove some superfluous type parameters from layout.rs rust-lang/rust#107163 - Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - s/eval_usize/eval_target_usize/ for clarity rust-lang/rust#108029 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Switch to EarlyBinder for type_of query rust-lang/rust#107753 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
Upstream PRs that require local changes: - Don't ICE in might_permit_raw_init if reference is polymorphic rust-lang/rust#108012 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Optimize mk_region rust-lang/rust#108020 Co-authored-by: Qinheping Hu <qinhh@amazon.com>
Upstream PRs that require local changes: - Don't ICE in might_permit_raw_init if reference is polymorphic rust-lang/rust#108012 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Optimize mk_region rust-lang/rust#108020 Co-authored-by: Qinheping Hu <qinhh@amazon.com>
Upstream PRs that require local changes: - Don't ICE in might_permit_raw_init if reference is polymorphic rust-lang/rust#108012 - Use target instead of machine for mir interpreter integer handling rust-lang/rust#108047 - Optimize mk_region rust-lang/rust#108020 Co-authored-by: Qinheping Hu <qinhh@amazon.com>
- Introduce -Zterminal-urls to use OSC8 for error codes rust-lang/rust#107838 - Unify validity checks into a single query rust-lang/rust#108364 - Rename interner funcs rust-lang/rust#108250 - Optimize mk_region rust-lang/rust#108020 - Clarify iterator interners rust-lang/rust#108112
PR #107869 avoiding some interning under
mk_ty
by special-casingTy
variants with simple (integer) bodies. This PR does something similar for regions.r? @compiler-errors