Skip to content

JIT: minor cleanups to the guarded devirtualization transform.#51769

Merged
AndyAyersMS merged 1 commit intodotnet:mainfrom
AndyAyersMS:GdvPreliminaries
Apr 24, 2021
Merged

JIT: minor cleanups to the guarded devirtualization transform.#51769
AndyAyersMS merged 1 commit intodotnet:mainfrom
AndyAyersMS:GdvPreliminaries

Conversation

@AndyAyersMS
Copy link
Member

Some small changes in anticipation of an upcoming bigger change.
Should give a tiny boost to throughput and is (nearly) no diff.

Don't bother creating a new block for the GDV test, it can sit at
the end of the original block.

Bash the original ret expr instead of leaving it referring to a temp
local and/or nop.

Some small changes in anticipation of an upcoming bigger change.
Should give a tiny boost to throughput and is (nearly) no diff.

Don't bother creating a new block for the GDV test, it can sit at
the end of the original block.

Bash the original ret expr instead of leaving it referring to a temp
local and/or nop.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Apr 23, 2021
@AndyAyersMS
Copy link
Member Author

cc @dotnet/jit-contrib

One SPMI diff. Will attach details later.

@AndyAyersMS
Copy link
Member Author

Will attach details later.

There's a change in block ordering which leads to the diff. Oddly the flowgraph dump just before the point of divergent behavior is identical in base and diff, so it's some residual state in fgReorderBlocks that leads to the diff. The new order looks better (more compact hot code) so am not going to investigate further.

@AndyAyersMS AndyAyersMS merged commit 79d8dad into dotnet:main Apr 24, 2021
@AndyAyersMS AndyAyersMS deleted the GdvPreliminaries branch April 24, 2021 16:50
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jun 19, 2021
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.

3 participants