Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8295166

IGV: dump graph at more locations

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 23
    • 20
    • hotspot
    • b02

      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

            dlunden Daniel Lunden
            rcastanedalo Roberto Castaneda Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: