comparison graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java @ 21036:953666b61a23

Always register stamps for the condition itself
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Mon, 16 Mar 2015 17:07:21 +0100
parents 033dd4494705
children 3fc34aafea30
comparison
equal deleted inserted replaced
21035:246ff20c0a5d 21036:953666b61a23
251 ValueNode y = binaryOpLogicNode.getY(); 251 ValueNode y = binaryOpLogicNode.getY();
252 if (!y.isConstant()) { 252 if (!y.isConstant()) {
253 Stamp newStampY = binaryOpLogicNode.getSucceedingStampForY(negated); 253 Stamp newStampY = binaryOpLogicNode.getSucceedingStampForY(negated);
254 registerNewStamp(y, newStampY, guard, undoOperations); 254 registerNewStamp(y, newStampY, guard, undoOperations);
255 } 255 }
256 registerCondition(condition, negated, guard, undoOperations); 256 }
257 } 257 registerCondition(condition, negated, guard, undoOperations);
258 } 258 }
259 259
260 private void registerCondition(LogicNode condition, boolean negated, ValueNode guard, List<Runnable> undoOperations) { 260 private void registerCondition(LogicNode condition, boolean negated, ValueNode guard, List<Runnable> undoOperations) {
261 this.registerNewStamp(condition, negated ? StampFactory.contradiction() : StampFactory.tautology(), guard, undoOperations); 261 this.registerNewStamp(condition, negated ? StampFactory.contradiction() : StampFactory.tautology(), guard, undoOperations);
262 } 262 }