Skip to content

JIT: use new phase objects more extensively#32688

Merged
AndyAyersMS merged 3 commits into
dotnet:masterfrom
AndyAyersMS:UseImprovedPhases
Feb 26, 2020
Merged

JIT: use new phase objects more extensively#32688
AndyAyersMS merged 3 commits into
dotnet:masterfrom
AndyAyersMS:UseImprovedPhases

Conversation

@AndyAyersMS

Copy link
Copy Markdown
Member

Convert the mainline compiler phases over so they are run via compiler or
action phases.

To keep jit dump size and checked jit throughput the same as it is now,
add phase whitelists to opt into pre phase dumps and checks triggered by the
phase objects on a per-phase basis. This allow us to gradually remove explicit
dumps and check invocations phase by phase, over time.

Convert the mainline compiler phases over so they are run via compiler or
action phases.

To keep jit dump size and checked jit throughput the same as it is now,
add phase whitelists to opt into pre phase dumps and checks triggered by the
phase objects on a per-phase basis. This allow us to gradually remove explicit
dumps and check invocations phase by phase, over time.
@AndyAyersMS

AndyAyersMS commented Feb 22, 2020

Copy link
Copy Markdown
Member Author

Contributes to #2109. Verified no diffs.

@dotnet/jit-contrib PTAL

@AndyAyersMS AndyAyersMS added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 22, 2020

@BruceForstall BruceForstall left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems like some of the larger auto clauses might be better extracted out as functions. But generally looks good to me (except the apparently incorrect #ifdefs.)

Comment thread src/coreclr/src/jit/phase.cpp Outdated
Comment thread src/coreclr/src/jit/compiler.cpp Outdated
@AndyAyersMS

Copy link
Copy Markdown
Member Author

@dotnet/jit-contrib anyone else want to look this over? I'm somewhat ambivalent about the lambdas, though we can always peel those out as named functions if they become too annoying.

@AndyAyersMS AndyAyersMS merged commit 9a47b6b into dotnet:master Feb 26, 2020
@AndyAyersMS AndyAyersMS deleted the UseImprovedPhases branch February 26, 2020 17:48
@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.

2 participants