# HG changeset patch # User Josef Eisl # Date 1407917503 -7200 # Node ID 47bf3ec2ca61bfe34bd7481f851ce17427be9564 # Parent 3df013ee6c96db95edfb4c36aee2d684cfdea352 Use ValueConsumer in RedundantMoveElimination. diff -r 3df013ee6c96 -r 47bf3ec2ca61 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java Wed Aug 13 10:11:27 2014 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java Wed Aug 13 10:11:43 2014 +0200 @@ -362,16 +362,16 @@ /* * Value procedure for the instruction's output and temp values */ - class OutputValueProc extends ValueProcedure { + class OutputValueConsumer extends ValueConsumer { int opValueNum; - OutputValueProc(int opValueNum) { + OutputValueConsumer(int opValueNum) { this.opValueNum = opValueNum; } @Override - public Value doValue(Value operand, OperandMode mode, EnumSet flags) { + public void visitValue(Value operand, OperandMode mode, EnumSet flags) { int stateIdx = getStateIdx(operand); if (stateIdx >= 0) { /* @@ -380,19 +380,18 @@ state[stateIdx] = encodeValueNum(opValueNum++, !operand.getLIRKind().isValue()); Debug.log("set def %d for register %s(%d): %d", opValueNum, operand, stateIdx, state[stateIdx]); } - return operand; } } - OutputValueProc outputValueProc = new OutputValueProc(valueNum); + OutputValueConsumer outputValueConsumer = new OutputValueConsumer(valueNum); - op.forEachTemp(outputValueProc); + op.visitEachTemp(outputValueConsumer); /* * Semantically the output values are written _after_ the temp values */ - op.forEachOutput(outputValueProc); + op.visitEachOutput(outputValueConsumer); - valueNum = outputValueProc.opValueNum; + valueNum = outputValueConsumer.opValueNum; if (op.hasState()) { /*