-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
JIT struct work planned for .NET 8 #76931
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThis issue captures the planned work items for .NET 8 with respect to struct improvements. Smaller workitems that the larger workitems depend on may also be tracked here. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope. Planned for .NET 8Q4 20222023
Interesting
|
cc @dotnet/jit-contrib |
This would imply teaching liveness to work with parts of non-promoted aggregates (this case is the only benefit of
What kind of enhancements? Note this is just an odd limitation of the current scheme. It can easily be lifted by "skipping" all trivial struct wrappers, not just those that ultimately simplify down to a primitive. |
The idea (hope) would be that the new promotion pass would create IR that never needed DNER and then dependent promotion could be replaced by the general promotion. I'm sure lots of tuning and work would be required here.
@AndyAyersMS and I were discussing this a while ago for various copy prop/promotion reasons. Also, some SSA forms allow representing some forms of aliasing, which could be interesting in relation to partial lifetime promotion. This one is probably pretty out there though.
Interesting. I guess you quickly hit the 4 field limit though, but I guess we could look into if it would make sense to raise this limit in some cases (e.g. to be able to promote |
@jakobbotsch, I am closing this as completed. Let's plan remaining items for future or .NET 9. |
This issue captures the planned work items for .NET 8 with respect to struct improvements. Smaller workitems that the larger workitems depend on may also be tracked here. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.
Planned for .NET 8
Q4 2022
Jan-Mar 2023
Apr-Jun 2023
See #76928.
Future/Interesting
The text was updated successfully, but these errors were encountered: