Skip to content

Conversation

@jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented Jan 9, 2024

When structs are involved the correct return patterns can be very complex if they involve decomposed field stores produced by physical promotion. Skip the validation for these cases.

Fix #96715

When structs are involved the correct return patterns can be very
complex if they involve decomposed field stores produced by physical
promotion. Skip the validation for these cases.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 9, 2024
@ghost ghost assigned jakobbotsch Jan 9, 2024
@ghost
Copy link

ghost commented Jan 9, 2024

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

Issue Details

When structs are involved the correct return patterns can be very complex if they involve decomposed field stores produced by physical promotion. Skip the validation for these cases.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

/azp run runtime-coreclr libraries-jitstress

@jakobbotsch jakobbotsch marked this pull request as ready for review January 9, 2024 22:16
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib PTAL @AndyAyersMS
Just taking the easy way out here... Perhaps it makes it possible to revive the return merging PR of yours, IIRC you also hit this.

Ideally we would be able to move all identification of tailcalls to one place and make it IR based (e.g. based on this checker) but unfortunately the existence of explicit tailcalls makes that hard since it means we always need to have an invariant that explicit tailcalls are properly performed. Given that the completeness of this checker is less interesting to maintain.

@jakobbotsch jakobbotsch merged commit e5bab5f into dotnet:main Jan 10, 2024
@jakobbotsch jakobbotsch deleted the fix-96715 branch January 10, 2024 23:19
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
When structs are involved the correct return patterns can be very
complex if they involve decomposed field stores produced by physical
promotion. Skip the validation for these cases.
@github-actions github-actions bot locked and limited conversation to collaborators Feb 10, 2024
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.

[libraries-jitstress] Assertion failed 'ValidateUse(tree) && "Expected use of local to be tailcall value"'

2 participants