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

JIT: Handle commas in physical promotion #87401

Merged
merged 1 commit into from
Jun 13, 2023

Conversation

jakobbotsch
Copy link
Member

Physical promotion was not properly handling accounting in the presence of commas and was not properly handling struct commas during replacement.

No diffs are expected as we don't see any struct commas in physical promotion currently.

Physical promotion was not properly handling accounting in the presence
of commas and was not properly handling struct commas during
replacement.
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 12, 2023
@ghost ghost assigned jakobbotsch Jun 12, 2023
@ghost
Copy link

ghost commented Jun 12, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

Physical promotion was not properly handling accounting in the presence of commas and was not properly handling struct commas during replacement.

No diffs are expected as we don't see any struct commas in physical promotion currently.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch

This comment was marked as off-topic.

@jakobbotsch

This comment was marked as off-topic.

@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib PTAL @EgorBo

No diffs as expected, physical promotion enabled, old promotion disabled.

Small TP hit.

@jakobbotsch jakobbotsch marked this pull request as ready for review June 12, 2023 22:17
@jakobbotsch jakobbotsch requested a review from EgorBo June 12, 2023 22:17
@jakobbotsch
Copy link
Member Author

jakobbotsch commented Jun 13, 2023

No diffs are expected as we don't see any struct commas in physical promotion currently.

Synchronized methods actually can create struct commas on the form

               [000033] -AC-G------RETURN    struct
               [000090] -AC-G------                         └──▌  COMMA     struct
               [000087] DA---------                            ├──▌  STORE_LCL_VAR struct<S, 16> V11 tmp8         
               [000032] -------N---                            │  └──▌  LCL_VAR   struct<S, 16> V01 loc0         
               [000089] --C-G------                            └──▌  COMMA     struct
               [000086] --C-G------                               ├──▌  CALL help void   CORINFO_HELP_MON_EXIT
               [000085] ----------- arg0                          │  ├──▌  LCL_VAR   ref    V00 this         
               [000084] ----------- arg1                          │  └──▌  LCL_ADDR  long   V09 tmp6         [+0]
               [000088] -------N---                               └──▌  LCL_VAR   struct<S, 16> V11 tmp8         

However, we don't promote any of these structs currently, but I started hitting these in #87410.

@jakobbotsch jakobbotsch merged commit fb16645 into dotnet:main Jun 13, 2023
@jakobbotsch jakobbotsch deleted the physical-promotion-commas branch June 13, 2023 10:06
@ghost ghost locked as resolved and limited conversation to collaborators Jul 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants