JDK 23 |
---|
23 b02Fixed |
Blocks :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Dump graph at more locations than currently. Specifically, at - PHASE_REGISTER_ALLOCATION - PHASE_BLOCK_ORDERING - PHASE_PEEPHOLE - PHASE_POSTALLOC_EXPAND and before and after other optimizations - Loop Peeling - Partial Peeling - Loop Unswitching - Loop Unrolling - Pre/Main/Post loops - Superword - Loop Predication - Split If - Range Check Elimination - Before CCP (we currently only dump after CCP) Additionally, we should - Rearrange print levels if necessary to accommodate the new phase types. - Enumerate phases that are reoccurring. For example, we already have PhaseIdealLoop1/2/3 but afterwards we just use "PhaseIdealLoop iterations" multiple times which sometimes makes it hard to find (again) the right graph when clicking around. - Print the involved idx + node name for the additional before/after loop optimization dumps mentioned above to better match the -XX:+TraceLoopOpts output. For example, when peeling a loop with LoopNode "123 Loop", we could name the IGV graph "Before Loop Peeling - 123 Loop" Note: All new phases should also be added to the CompilePhase enum [1] of the IR framework. [1] https://github.com/openjdk/jdk/blob/master/test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java
|