changeset 16806:47bf3ec2ca61

Use ValueConsumer in RedundantMoveElimination.
author Josef Eisl <josef.eisl@jku.at>
date Wed, 13 Aug 2014 10:11:43 +0200
parents 3df013ee6c96
children 487a4204f83d
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java
diffstat 1 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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<OperandFlag> flags) {
+                public void visitValue(Value operand, OperandMode mode, EnumSet<OperandFlag> 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()) {
                 /*