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

Propagate basic block flags after a failed inline. #38243

Merged
merged 1 commit into from
Jun 23, 2020

Conversation

erozenfeld
Copy link
Member

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.

Fixes dotnet#36588.
@Dotnet-GitSync-Bot Dotnet-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
Member Author

No diffs in x64 PMI frameworks.

@AndyAyersMS PTAL /cc @dotnet/jit-contrib

Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

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

LGTM.

@BruceForstall
Copy link
Member

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
Member Author

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:master Jun 23, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
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.

Assertion failed 'false' during 'Early Value Propagation'
4 participants