Skip to content

JIT: Handle GT_SWIFT_ERROR in gtCloneExpr#99236

Merged
amanasifkhalid merged 1 commit into
dotnet:mainfrom
amanasifkhalid:handle-gt-swift-error
Mar 4, 2024
Merged

JIT: Handle GT_SWIFT_ERROR in gtCloneExpr#99236
amanasifkhalid merged 1 commit into
dotnet:mainfrom
amanasifkhalid:handle-gt-swift-error

Conversation

@amanasifkhalid
Copy link
Copy Markdown
Contributor

Fixes #99214 by handling GT_SWIFT_ERROR in Compiler::gtCloneExpr.

cc @jakobbotsch. Since this isn't the first time an outerloop pipeline has failed due to a missing GT_SWIFT_ERROR switch case, I tried to look for other missing cases by searching for similarly-handled GenTree nodes. It's not the most precise method, but I did notice we aren't explicitly handling GT_SWIFT_ERROR in GenTree::Compare -- we return false if we encounter it. Just to check, is this the correct behavior, since GT_SWIFT_ERROR represents a value unknown at compile time?

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Mar 4, 2024
@ghost ghost assigned amanasifkhalid Mar 4, 2024
@ghost
Copy link
Copy Markdown

ghost commented Mar 4, 2024

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

Issue Details

Fixes #99214 by handling GT_SWIFT_ERROR in Compiler::gtCloneExpr.

cc @jakobbotsch. Since this isn't the first time an outerloop pipeline has failed due to a missing GT_SWIFT_ERROR switch case, I tried to look for other missing cases by searching for similarly-handled GenTree nodes. It's not the most precise method, but I did notice we aren't explicitly handling GT_SWIFT_ERROR in GenTree::Compare -- we return false if we encounter it. Just to check, is this the correct behavior, since GT_SWIFT_ERROR represents a value unknown at compile time?

Author: amanasifkhalid
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@amanasifkhalid
Copy link
Copy Markdown
Contributor Author

/azp run runtime-coreclr jitstress-random

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch
Copy link
Copy Markdown
Member

Fixes #99214 by handling GT_SWIFT_ERROR in Compiler::gtCloneExpr.

cc @jakobbotsch. Since this isn't the first time an outerloop pipeline has failed due to a missing GT_SWIFT_ERROR switch case, I tried to look for other missing cases by searching for similarly-handled GenTree nodes. It's not the most precise method, but I did notice we aren't explicitly handling GT_SWIFT_ERROR in GenTree::Compare -- we return false if we encounter it. Just to check, is this the correct behavior, since GT_SWIFT_ERROR represents a value unknown at compile time?

GenTree::Compare can return true for it. It is a syntactic check -- it also returns true for two syntactically equal calls or indirections even though those can return different values.

@amanasifkhalid
Copy link
Copy Markdown
Contributor Author

GenTree::Compare can return true for it. It is a syntactic check -- it also returns true for two syntactically equal calls or indirections even though those can return different values.

I see, thanks for letting me know -- I'll update it separately.

@amanasifkhalid
Copy link
Copy Markdown
Contributor Author

jitstress-random passed.

@amanasifkhalid amanasifkhalid merged commit a06053d into dotnet:main Mar 4, 2024
@amanasifkhalid amanasifkhalid deleted the handle-gt-swift-error branch March 4, 2024 18:55
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 4, 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.

Test failure: Assertion failed 'Cloning of node not supported' in '(dynamicClass):IL_STUB_PInvoke(int,byref):long' during 'Morph - Global'

2 participants