Skip to content

JIT: create recursive tail call scratch block early in morph - #93764

Merged
AndyAyersMS merged 1 commit into
dotnet:mainfrom
AndyAyersMS:SetupScratchBBOutsideOfMorph
Oct 20, 2023
Merged

JIT: create recursive tail call scratch block early in morph#93764
AndyAyersMS merged 1 commit into
dotnet:mainfrom
AndyAyersMS:SetupScratchBBOutsideOfMorph

Conversation

@AndyAyersMS

Copy link
Copy Markdown
Member

Create the scratch BB (if likely to be needed) before we get into morphing all the blocks, so that morph is not creating new blocks while morphing.

Also enhance detection of potential recursive tall calls to include cases created by GDV.

Create the scratch BB (if likely to be needed) before we get
into morphing all the blocks, so that morph is not creating
new blocks while morphing.
Also enhance detection of potential recursive tall calls to
include cases created by GDV.
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 20, 2023
@ghost

Copy link
Copy Markdown

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

Issue Details

Create the scratch BB (if likely to be needed) before we get into morphing all the blocks, so that morph is not creating new blocks while morphing.

Also enhance detection of potential recursive tall calls to include cases created by GDV.

Author:AndyAyersMS
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@AndyAyersMSAndyAyersMS added this to the 9.0.0 milestone Oct 20, 2023
@AndyAyersMS

Copy link
Copy Markdown
MemberAuthor

cc @dotnet/jit-contrib

Likely no diffs (local run hasn't finished yet). Seems like we might be able to craft a case that exposes the prior lack of BBF_RECURSIVE_TAILCALL (which was added in #79346) for GDV cases, but I haven't tried to do so.

@AndyAyersMS

Copy link
Copy Markdown
MemberAuthor

Timeouts for x86 on both diff and replay are a bit concerning. Retrying diffs in CI and replay locally.

@AndyAyersMS

Copy link
Copy Markdown
MemberAuthor

Local run was fine, so assuming these timeouts are related to some CI issue.

@AndyAyersMS
AndyAyersMS merged commit 2f90038 into dotnet:mainOct 20, 2023
@ghostghost locked as resolved and limited conversation to collaborators Nov 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR 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

@AndyAyersMS@jakobbotsch