Skip to content

JIT: convert codegen over to new style phases#32899

Merged
AndyAyersMS merged 1 commit intodotnet:masterfrom
AndyAyersMS:CodeGenPhases
Feb 27, 2020
Merged

JIT: convert codegen over to new style phases#32899
AndyAyersMS merged 1 commit intodotnet:masterfrom
AndyAyersMS:CodeGenPhases

Conversation

@AndyAyersMS
Copy link
Member

Convert codegen over to new style phases. To facilitate this, some
of the state that was passed around in locals in genGenerateCode
are now fields on the codegen object.

Also add a final "pseudo phase" in case we see very late asserts.

Fixes #32497.

Convert codegen over to new style phases. To facilitate this, some
of the state that was passed around in locals in `genGenerateCode`
are now fields on the codegen object.

Also add a final "pseudo phase" in case we see very late asserts.

Fixes dotnet#32497.
@AndyAyersMS
Copy link
Member Author

cc @dotnet/jit-contrib

Only minimal diffs in dumps (new start/end messages for the phases).

Copy link
Contributor

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

LGTM.

You're measuring slightly different things in the phases. E.g., the phase including emitEndCodeGen() now includes a few additional things, e.g., compiler->unwindReserve(). That's probably ok.

@AndyAyersMS
Copy link
Member Author

Linux arm crossgen compare is a known issue.
Perf runs fail with ModuleNotFoundError: No module named 'azure.devops'

Both are unrelated.

@AndyAyersMS AndyAyersMS merged commit fab6a56 into dotnet:master Feb 27, 2020
@AndyAyersMS AndyAyersMS deleted the CodeGenPhases branch February 27, 2020 16:27
@BruceForstall BruceForstall added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed area-CodeGen labels Feb 27, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 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.

JIT assertions are attributed to the wrong phase

3 participants