Skip to content

Propagate basic block flags after a failed inline. - #38243

Merged
erozenfeld merged 1 commit into
dotnet:masterfrom
erozenfeld:Fix36588
Jun 23, 2020
Merged

Propagate basic block flags after a failed inline.#38243
erozenfeld merged 1 commit into
dotnet:masterfrom
erozenfeld:Fix36588

Conversation

@erozenfeld

Copy link
Copy Markdown
Contributor

This is a fllow-up to #37335 and #37840.

When an inline fails we replace GT_RET_EXPRwith the
original GT_CALL node. GT_RET_EXPRmay end up in
a basic block other than the original GT_CALL so we need
to propagate basic block flags.

Fixes#36588.

This is a fllow-up to dotnet#37335 and dotnet#37840.
When an inline fails we replace `GT_RET_EXPR`with the
original `GT_CALL` node. `GT_RET_EXPR`may end up in
a basic block other than the original `GT_CALL` so we need
to propagate basic block flags.
Fixesdotnet#36588.
@Dotnet-GitSync-BotDotnet-GitSync-Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 22, 2020
@erozenfeld

Copy link
Copy Markdown
ContributorAuthor

No diffs in x64 PMI frameworks.

@AndyAyersMS PTAL /cc @dotnet/jit-contrib

@AndyAyersMSAndyAyersMS left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM.

@BruceForstall

Copy link
Copy Markdown
Contributor

The only remaining runtime-coreclr libraries-jitstress failures are in tailcallstress jobs.

So, should we create individual issues for each of the failures, or should we treat them all as probable cases of #37117 and related tailcallstress issues?

I'm inclined to disable the tailcallstress mode entirely -- on the libraries stress modes at least -- until it is known to be error free.

@erozenfeld

Copy link
Copy Markdown
ContributorAuthor

Since we had a major tail call change in this release I think we should try to get tailcallstress clean before shipping .NET 5. I'm ok with disabling tailcallstress mode on the libraries stress modes and opening a .NET 5 item to get it re-enabled.

@erozenfeld
erozenfeld merged commit 81ed1f7 into dotnet:masterJun 23, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
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.

Assertion failed 'false' during 'Early Value Propagation'

4 participants

@erozenfeld@BruceForstall@AndyAyersMS@Dotnet-GitSync-Bot