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

IGV: schedule approximation computes immediate dominators wrongly

XMLWordPrintable

    • b10

      The ServerCompiler module in IGV computes an approximation of C2's schedule for unscheduled graphs, for clustering and showing control flow information in the "Control Flow" window. This approximation uses domination information to guide the scheduling of nodes into basic blocks.

      In the attached example (graph "Barrier expand"), IGV computes the following dominator tree:

      idom(Block 1) = null
      idom(Block 2) = Block 1
      idom(Block 3) = Block 2
      idom(Block 4) = Block 2
      idom(Block 5) = Block 2
      idom(Block 6) = Block 2
      idom(Block 7) = Block 6
      idom(Block 8) = Block 6
      idom(Block 9) = Block 8
      idom(Block 10) = Block 8
      idom(Block 11) = Block 8
      idom(Block 12) = Block 11
      idom(Block 13) = Block 11
      idom(Block 14) = Block 12
      idom(Block 15) = Block 14
      idom(Block 16) = Block 14
      idom(Block 17) = Block 8
      idom(Block 18) = Block 17
      idom(Block 19) = Block 17

      Whereas the expected result is:

      (..)
      idom(Block 11) = Block 10
      (..)
      idom(Block 17) = Block 10
      (..)

        1. fail.xml
          282 kB
          Roberto Castaneda Lozano
        2. wrong-dominator-tree.png
          227 kB
          Roberto Castaneda Lozano

            rcastanedalo Roberto Castaneda Lozano
            rcastanedalo Roberto Castaneda Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: