comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java @ 20826:a4aa2116cfe0

Support node canonicalization when not all usages of a node are known yet
author Christian Wimmer <christian.wimmer@oracle.com>
date Wed, 08 Apr 2015 22:07:50 -0700
parents a7ee2e1f0d4e
children 48c1ebd24120
comparison
equal deleted inserted replaced
20825:854b0b6854f4 20826:a4aa2116cfe0
77 } 77 }
78 } 78 }
79 79
80 @Override 80 @Override
81 public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) { 81 public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) {
82 if (hasNoUsages() && StampTool.isPointerNonNull(forValue)) { 82 if (tool.allUsagesAvailable() && hasNoUsages() && StampTool.isPointerNonNull(forValue)) {
83 return null; 83 return null;
84 } 84 }
85 ValueNode synonym = findSynonym(tool.getMetaAccess(), tool.getConstantReflection(), forValue, boxingKind); 85 ValueNode synonym = findSynonym(tool.getMetaAccess(), tool.getConstantReflection(), forValue, boxingKind);
86 if (synonym != null) { 86 if (synonym != null) {
87 return synonym; 87 return synonym;