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

C2: "malformed control flow" with irreducible loop

    XMLWordPrintable

Details

    • b05

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: