src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java

Print this page

        

*** 35,44 **** --- 35,45 ---- import org.graalvm.compiler.graph.NodeInputList; import org.graalvm.compiler.graph.iterators.NodeIterable; import org.graalvm.compiler.graph.spi.Simplifiable; import org.graalvm.compiler.graph.spi.SimplifierTool; import org.graalvm.compiler.nodeinfo.NodeInfo; + import org.graalvm.compiler.nodes.memory.MemoryPhiNode; import org.graalvm.compiler.nodes.spi.LIRLowerable; import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; import org.graalvm.compiler.nodes.util.GraphUtil; /**
*** 104,115 **** if (phi.isDeleted()) { continue; } ValueNode removedValue = phi.valueAt(predIndex); phi.removeInput(predIndex); ! if (removedValue != null && removedValue.isAlive() && removedValue.hasNoUsages() && GraphUtil.isFloatingNode(removedValue)) { ! GraphUtil.killWithUnusedFloatingInputs(removedValue); } } } protected void deleteEnd(AbstractEndNode end) { --- 105,116 ---- if (phi.isDeleted()) { continue; } ValueNode removedValue = phi.valueAt(predIndex); phi.removeInput(predIndex); ! if (removedValue != null) { ! GraphUtil.tryKillUnused(removedValue); } } } protected void deleteEnd(AbstractEndNode end) {
*** 139,149 **** public NodeIterable<PhiNode> phis() { return this.usages().filter(PhiNode.class).filter(this::isPhiAtMerge); } public NodeIterable<ValuePhiNode> valuePhis() { ! return this.usages().filter(ValuePhiNode.class).filter(this::isPhiAtMerge); } @Override public NodeIterable<Node> anchored() { return super.anchored().filter(n -> !isPhiAtMerge(n)); --- 140,154 ---- public NodeIterable<PhiNode> phis() { return this.usages().filter(PhiNode.class).filter(this::isPhiAtMerge); } public NodeIterable<ValuePhiNode> valuePhis() { ! return this.usages().filter(ValuePhiNode.class); ! } ! ! public NodeIterable<MemoryPhiNode> memoryPhis() { ! return this.usages().filter(MemoryPhiNode.class); } @Override public NodeIterable<Node> anchored() { return super.anchored().filter(n -> !isPhiAtMerge(n));
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File