Skip to content
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

Tracking Issue for mir-inlining #81567

Open
4 of 5 tasks
oli-obk opened this issue Jan 30, 2021 · 1 comment
Open
4 of 5 tasks

Tracking Issue for mir-inlining #81567

oli-obk opened this issue Jan 30, 2021 · 1 comment
Labels
A-mir-opt Area: MIR optimizations A-mir-opt-inlining Area: MIR inlining C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC

Comments

@oli-obk
Copy link
Contributor

oli-obk commented Jan 30, 2021

This is a tracking issue for the MIR inliner. You can currently enable it by passing -Zinline-mir or -Zmir-opt-level=3 to the compiler (although that also enables a bunch of other opts)

About tracking issues

Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

Steps

Implementation history

cc @rust-lang/wg-mir-opt

@oli-obk oli-obk added C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC A-mir-opt Area: MIR optimizations A-mir-opt-inlining Area: MIR inlining labels Jan 30, 2021
@cjgillot cjgillot mentioned this issue Dec 10, 2021
6 tasks
bors added a commit to rust-lang-ci/rust that referenced this issue Jul 2, 2022
…ll, r=oli-obk

Enable MIR inlining

Continuation of rust-lang#82280 by `@wesleywiser.`

rust-lang#82280 has shown nice compile time wins could be obtained by enabling MIR inlining.
Most of the issues in rust-lang#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:
- [x] figure out the interaction with polymorphization;
- [x] figure out how miri should deal with extern types;
- [x] silence the extra arithmetic overflow warnings;
- [x] remove the codegen fulfilment ICE;
- [x] remove the type normalization ICEs while compiling nalgebra;
- [ ] tweak the inlining threshold.
@bjorn3
Copy link
Member

bjorn3 commented Jul 18, 2022

Since #91743 MIR inlining is enabled by default when optimizations are enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-mir-opt Area: MIR optimizations A-mir-opt-inlining Area: MIR inlining C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC
Projects
None yet
Development

No branches or pull requests

2 participants