# HG changeset patch # User Doug Simon # Date 1403193095 -7200 # Node ID e34d8c5fa9279326261b063c6c90936307e25f3e # Parent 7fb828b4c32ba49e6e37c9d1dd5f0e7ecf9068c7 do not create PiNode when lowering GuardingPiNode if the latter has no usages diff -r 7fb828b4c32b -r e34d8c5fa927 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Thu Jun 19 17:33:44 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Thu Jun 19 17:51:35 2014 +0200 @@ -94,8 +94,10 @@ public void lower(LoweringTool tool) { GuardingNode guard = tool.createGuard(next(), condition, reason, action, negated); ValueAnchorNode anchor = graph().add(new ValueAnchorNode((ValueNode) guard)); - PiNode pi = graph().unique(new PiNode(object, stamp(), (ValueNode) guard)); - replaceAtUsages(pi); + if (usages().isNotEmpty()) { + PiNode pi = graph().unique(new PiNode(object, stamp(), (ValueNode) guard)); + replaceAtUsages(pi); + } graph().replaceFixedWithFixed(this, anchor); }