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

C2: "malformed control flow" with irreducible loop

XMLWordPrintable

    • b05

      See attached test case. The test method has a loop nest with 2 loops. The outer most loop is an irreducible loop. The safepoints for both loops are in the inner loop. The one for the irreducible loop is not marked as required (because IdealLoopTree::check_safepts skips irreducible loops) and so is removed. At CCP, the backedge of the inner loop is found to be never taken, one of the conditions to enter the irreducible loop is never taken and the backedge for the irreducible loop is found to be always taken. What's left is a single node infinite loop which is then eliminated as dead code.

            roland Roland Westrelin
            roland Roland Westrelin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: