-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Open
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
The jit inconsistently runs dumps and checks before/after phases, and has phase-like things that are not currently represented as phases. This issue describes a proposed cleanup of this part of the jit. Possible things to consider:
- merge
fgMorphintocompCompile(JIT: merge fgMorph into compCompile #2110) - implement more flexible phase objects (JIT: rework phase objects so we can use them more widely #31808)
- update assert messages to describe active phase(s) (JIT: rework phase objects so we can use them more widely #31808)
- introduce a verbose check mode so we can audit when checks run
- note when a phase has not made any changes and suppress dumping and checking (JIT: initial workup for suppressing dumps and checks post-phase #33305)
- gradually convert existing code to use phases while keeping checked jit TP under control (JIT: use new phase objects more extensively #32688, JIT: convert codegen over to new style phases #32899, JIT: strengthen checking of the loop table #71184, Convert more jit phases to opt into common post phase checks #74041, JIT: finish converting all phases to use common post phase dumps and checks #74308)
- implement phase checks in some declarative manner
- change codegen over to the new phase pattern, and fix JIT assertions are attributed to the wrong phase #32497. (JIT: convert codegen over to new style phases #32899)
- change ssa and linear scan over to the new phase pattern (JIT: finish converting all phases to use common post phase dumps and checks #74308)
- make handling of sub phases consistent everywhere
- implement selective (per-phase) dumping
- move phase timing stuff over to phases
category:implementation
theme:jit-coding-style
skill-level:intermediate
cost:medium
impact:medium
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI