JIT struct work planned for .NET 10 #109635
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
User Story
A single user-facing feature. Can be grouped under an epic.
Milestone
This issue captures the planned work items for .NET 10 with respect to struct improvements. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.
The overall goal in .NET 10 is to expand the scope of physical promotion even further than we did in .NET 9. We have seen good improvements from switching classes of struct locals from old promotion to physical promotion and expect similar improvements for the remaining cases. A stretch goal is the full removal of old promotion.
ABI handling for physical promotion
The main limitation that stops physical promotion from replacing regular promotion is currently that it lacks the support around ABI boundaries that regular promotion has. This comes out of the fact that our multireg support is tied very directly into the existing promotion mechanism.
Thus, we expect to work on the following items in .NET 10:
GT_SWIFT_ERROR
)Missing handling for physical promotion
Old promotion handles cases that new promotion does not handle yet. There is work to be done to identify these cases and come up with replacements.
Miscellaneous struct-related work items
Stretch goals
The text was updated successfully, but these errors were encountered: