Skip to content

JIT: move second pass of EH opts earlier - #111364

Merged
AndyAyersMS merged 1 commit into
dotnet:mainfrom
AndyAyersMS:Fix110959
Jan 14, 2025
Merged

JIT: move second pass of EH opts earlier#111364
AndyAyersMS merged 1 commit into
dotnet:mainfrom
AndyAyersMS:Fix110959

Conversation

@AndyAyersMS

@AndyAyersMS AndyAyersMS commented Jan 13, 2025

Copy link
Copy Markdown
Member

to avoid messing up loop exit canonicalization (which is sensitive to loops with internal EH flow).

Fixes #110959.

Also, remove some of the ceremony around fgModified -- seems like this is no longer useful/needed.

Defer deciding if we need a PSPSym until we create funclets. This removes unused PSPSym allocations in some cases. Also, there is no benefit to tracking the PSPSym, so stop doing that.

to avoid messing up loop exit canonicalization (which is sensitive
to loops with internal EH flow).

Fixed dotnet#110959.

Also, remove some of the ceremony around `fgModified` -- seems like this
is no longer useful/needed.

Defer deciding if we need a PSPSym until we create funclets. This removes
unused PSPSym allocations in some cases. Also, there is no benefit to
tracking the PSPSym, so stop doing that.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 13, 2025
@AndyAyersMS

AndyAyersMS commented Jan 13, 2025

Copy link
Copy Markdown
Member Author

@jakobbotsch PTAL
cc @dotnet/jit-contrib

Some diffs expected. Mostly less PSPSym, but a few cases where we now unroll loops as EH was removed, and a few where not tracking PSPSym alters allocation.

DIFFS

@AndyAyersMS

Copy link
Copy Markdown
Member Author

Looks like we often also decide too early that we need a stack frame, will need to look into that someday.

@AndyAyersMS

Copy link
Copy Markdown
Member Author

CI seems to be taking a long time to spin up.

@AndyAyersMS
AndyAyersMS merged commit a05d34b into dotnet:main Jan 14, 2025
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 14, 2025
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.

arm64: Assertion failed 'loop->ContainsBlock(pred)' during 'Do value numbering'

3 participants