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

Refactor fgInitArgInfo to track non standard arg kinds #58324

Merged
merged 1 commit into from
Aug 30, 2021

Conversation

jakobbotsch
Copy link
Member

This changes the JIT to keep track of the non standard arg kinds that
are added to the arg info table. We currently have several places
(fgResetArgInfo, morph for tailcall-via-helpers) that make "blind"
assumptions on which arg is which depending on certain flags set in the
call. This change makes fgResetArgInfo more general and allows us to
add asserts to the tailcall logic to verify that we are removing the
args we expect.

This helps support #56669, where I need to be able to discern different
non standard args during the tailcall-to-recursion transformation.

No SPMI diffs.

cc @dotnet/jit-contrib

This changes the JIT to keep track of the non standard arg kinds that
are added to the arg info table. We currently have several places
(`fgResetArgInfo`, morph for tailcall-via-helpers) that make "blind"
assumptions on which arg is which depending on certain flags set in the
call. This change makes `fgResetArgInfo` more general and allows us to
add asserts to the tailcall logic to verify that we are removing the
args we expect.
@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 Aug 28, 2021
@ghost
Copy link

ghost commented Aug 28, 2021

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

Issue Details

This changes the JIT to keep track of the non standard arg kinds that
are added to the arg info table. We currently have several places
(fgResetArgInfo, morph for tailcall-via-helpers) that make "blind"
assumptions on which arg is which depending on certain flags set in the
call. This change makes fgResetArgInfo more general and allows us to
add asserts to the tailcall logic to verify that we are removing the
args we expect.

This helps support #56669, where I need to be able to discern different
non standard args during the tailcall-to-recursion transformation.

No SPMI diffs.

cc @dotnet/jit-contrib

Author: jakobbotsch
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

/azp run runtime-coreclr jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch
Copy link
Member Author

Test failures are #58230 and #11063.

Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Looks like a nice cleanup.

@jakobbotsch jakobbotsch merged commit ad9281d into dotnet:main Aug 30, 2021
@jakobbotsch jakobbotsch deleted the non-standard-arg-kind branch August 30, 2021 20:57
@ghost ghost locked as resolved and limited conversation to collaborators Sep 29, 2021
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