-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Remove no-op cleanups as post-mono MIR opt #143208
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
base: master
Are you sure you want to change the base?
Remove no-op cleanups as post-mono MIR opt #143208
Conversation
@bors2 try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Remove no-op cleanups as post-mono MIR opt On cargo this cuts ~5% of the LLVM IR lines we generate (measured with -Cno-prepopulate-passes). Opening to assess performance.
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (fb9de75): 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 8.9%, secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.0%, secondary -3.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.7%, secondary -0.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 695.323s -> 698.39s (0.44%) |
e0423d5
to
676eed3
Compare
@bors2 try @rust-timer queue |
Missing command. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@bors2 try |
Remove no-op cleanups as post-mono MIR opt On cargo this cuts ~5% of the LLVM IR lines we generate (measured with -Cno-prepopulate-passes). Opening to assess performance.
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (e3a4b05): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking 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. @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 -2.6%, secondary -1.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.4%, secondary -2.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.6%, secondary -0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 461.485s -> 461.37s (-0.02%) |
@bors2 try jobs=x86_64-msvc |
Unknown value for argument "jobs". |
@bors2 try jobs= |
Unknown value for argument "jobs". |
@bors2 try jobs= |
Some changes occurred in compiler/rustc_codegen_ssa |
r? mir-opts |
Failed to set assignee to
|
r? mir |
@bors r+ |
Is there an opportunity to reuse code from |
Given that comments and variable names don't line up, seems better to |
676eed3
to
c04a255
Compare
This comment was marked as resolved.
This comment was marked as resolved.
@bors2 try @rust-timer queue This is essentially a re-write with @cjgillot's excellent suggestion to reuse the analysis in RemoveNoopLandingPads. Also adjusted some of the naming per @RalfJung's comments -- I'm not perfectly happy with the names, some of this is sort of quasi-true (e.g., reachable is only accurate if you apply the right filters while you traverse the MIR, since we currently can't edit it in-place). |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
Remove no-op cleanups as post-mono MIR opt On cargo this cuts ~5% of the LLVM IR lines we generate (measured with -Cno-prepopulate-passes). Opening to assess performance.
This comment has been minimized.
This comment has been minimized.
This speeds up LLVM and improves codegen overall. As an example, for cargo this cuts ~5% of the LLVM IR lines we generate (measured with -Cno-prepopulate-passes).
Queued d12ed3f with parent 6677875, future comparison URL. |
c04a255
to
ec26dde
Compare
On cargo this cuts ~5% of the LLVM IR lines we generate (measured with -Cno-prepopulate-passes). Opening to assess performance.