src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java
changeset 58877 aec7bf35d6f5
parent 58533 46b0b7fe255c
equal deleted inserted replaced
58876:1a8d65e71a66 58877:aec7bf35d6f5
   231                 opaque.setValue(graph.addOrUniqueWithInputs(AddNode.add(counterStride, previousValue, NodeView.DEFAULT)));
   231                 opaque.setValue(graph.addOrUniqueWithInputs(AddNode.add(counterStride, previousValue, NodeView.DEFAULT)));
   232                 GraphUtil.tryKillUnused(previousValue);
   232                 GraphUtil.tryKillUnused(previousValue);
   233             }
   233             }
   234         }
   234         }
   235         mainLoopBegin.setUnrollFactor(mainLoopBegin.getUnrollFactor() * 2);
   235         mainLoopBegin.setUnrollFactor(mainLoopBegin.getUnrollFactor() * 2);
   236         mainLoopBegin.setLoopFrequency(mainLoopBegin.loopFrequency() / 2);
   236         mainLoopBegin.setLoopFrequency(Math.max(1.0, mainLoopBegin.loopFrequency() / 2));
   237         graph.getDebug().dump(DebugContext.DETAILED_LEVEL, graph, "LoopPartialUnroll %s", loop);
   237         graph.getDebug().dump(DebugContext.DETAILED_LEVEL, graph, "LoopPartialUnroll %s", loop);
   238 
   238 
   239         mainLoopBegin.getDebug().dump(DebugContext.VERBOSE_LEVEL, mainLoopBegin.graph(), "After insertWithinAfter %s", mainLoopBegin);
   239         mainLoopBegin.getDebug().dump(DebugContext.VERBOSE_LEVEL, mainLoopBegin.graph(), "After insertWithinAfter %s", mainLoopBegin);
   240     }
   240     }
   241 
   241 
   436         // new corresponding phis
   436         // new corresponding phis
   437         for (PhiNode phi : newPhis) {
   437         for (PhiNode phi : newPhis) {
   438             for (int i = 0; i < phi.valueCount(); i++) {
   438             for (int i = 0; i < phi.valueCount(); i++) {
   439                 ValueNode v = phi.valueAt(i);
   439                 ValueNode v = phi.valueAt(i);
   440                 if (loopBegin.isPhiAtMerge(v)) {
   440                 if (loopBegin.isPhiAtMerge(v)) {
   441                     PhiNode newV = peel.getDuplicatedNode((ValuePhiNode) v);
   441                     PhiNode newV = peel.getDuplicatedNode((PhiNode) v);
   442                     if (newV != null) {
   442                     if (newV != null) {
   443                         phi.setValueAt(i, newV);
   443                         phi.setValueAt(i, newV);
   444                     }
   444                     }
   445                 }
   445                 }
   446             }
   446             }