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

PhaseStringOpts shouldn't rely on RegionNode::Ideal to eliminate simple diamond Region

XMLWordPrintable

      When PhaseStringOpts eliminates a call, it sometimes produces subgraphs of the form:

      cmpP with 1 top input
                 |
                If
               / \
        IfFalse IfTrue
               \ /
              Region
       
      (the result of the call becomes top because the call is disconnected).

      and relies on an RegionNode::Ideal graph transformation that replaces the Region with the control input of the If if the Region has no PhiNode. The problem is that the top input to cmpP may propagate forward and could destroy all Region's inputs before the Region is processed.

      RegionNode::try_clean_mem_phi() should be unneeded when this is fixed.

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

              Created:
              Updated: