Conversation
|
Some changes occured to the CTFE / Miri engine cc @rust-lang/miri |
|
r? @jackh726 (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
|
⌛ Trying commit 6a4e632dd082da698d23955f33781a45a00d2e64 with merge e158c01eec3c90aaf0463f93c68c9971a0c00924... |
|
☀️ Try build successful - checks-actions |
|
Queued e158c01eec3c90aaf0463f93c68c9971a0c00924 with parent 0b42dea, future comparison URL. |
|
Finished benchmarking commit (e158c01eec3c90aaf0463f93c68c9971a0c00924): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
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 led to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
6a4e632 to
8f5c54e
Compare
This comment has been minimized.
This comment has been minimized.
8f5c54e to
f5a5f1c
Compare
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
|
⌛ Trying commit f5a5f1c979c645cef188e0ca113d427e8dd400be with merge 82c0b57dc36973c6b38f4dcfa748798e4d019ecd... |
|
☀️ Try build successful - checks-actions |
|
Queued 82c0b57dc36973c6b38f4dcfa748798e4d019ecd with parent 4a66a70, future comparison URL. |
|
Finished benchmarking commit (82c0b57dc36973c6b38f4dcfa748798e4d019ecd): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
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 led to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
|
Hmm this is not showing up in the bors queue for some reason 🤔 |
|
📌 Commit cbbf06b has been approved by |
|
☀️ Test successful - checks-actions |
|
Finished benchmarking commit (0075bb4): 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. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Footnotes |
|
It's worth pointing out the improvements to compiler bootstrapping:
Impressive! |
|
Boooooo. 😅 I guess tons of trivial code, all inlineable, is a total nightmare for the MIR inliner. |
| // CHECK: ; core::mem::replace | ||
| // CHECK-NOT: call void @llvm.memcpy | ||
| // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %{{.*}}, {{i8\*|ptr}} align 1 %src, i{{.*}} 1, i1 false) | ||
| // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %{{.*}}, {{i8\*|ptr}} align 1 %dest, i{{.*}} 1, i1 false) |
There was a problem hiding this comment.
This change made the test fail in --stage 1 (the default for ./x.py test) on my system
/home/r/src/rust/rustc.3/build/x86_64-unknown-linux-gnu/test/codegen/mem-replace-direct-memcpy/mem-replace-direct-memcpy.ll:138:2: note: possible intended match here
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %_4, i8* align 1 %src, i64 1, i1 false)
^
It should be src, not dest, it seems. Or it should be %{{.*}} I guess since the name seems to be unstable. The 2nd argument is the src though so the "dest" you added here makes no sense to me.
Continuation of #82280 by @wesleywiser.
#82280 has shown nice compile time wins could be obtained by enabling MIR inlining.
Most of the issues in #81567 are now fixed,
except the interaction with polymorphization which is worked around specifically.
I believe we can proceed with enabling MIR inlining in the near future
(preferably just after beta branching, in case we discover new issues).
Steps before merging: