changeset 21023:3ceda1f37dcc

[SPARC] Remove redundant compare type (kind) for CMOVE
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Mon, 20 Apr 2015 14:58:45 +0200
parents b4b103d7f46f
children e4a8c886515f
files graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java
diffstat 4 files changed, 10 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java	Mon Apr 20 14:50:16 2015 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java	Mon Apr 20 14:58:45 2015 +0200
@@ -64,7 +64,7 @@
 
     @Override
     public int asInt() {
-        assert getKind().getStackKind() == Kind.Int;
+        assert getKind().getStackKind() == Kind.Int : getKind().getStackKind();
         return (int) primitive;
     }
 
--- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java	Mon Apr 20 14:50:16 2015 +0200
+++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java	Mon Apr 20 14:58:45 2015 +0200
@@ -319,8 +319,7 @@
         }
         Variable result = newVariable(trueValue.getLIRKind());
         ConditionFlag finalCondition = ConditionFlag.fromCondtition(conditionFlags, mirrored ? cond.mirror() : cond, unorderedIsTrue);
-        Kind kind = result.getKind().getStackKind();
-        append(new CondMoveOp(kind, result, conditionFlags, finalCondition, actualTrueValue, actualFalseValue));
+        append(new CondMoveOp(result, conditionFlags, finalCondition, actualTrueValue, actualFalseValue));
         return result;
     }
 
@@ -396,7 +395,7 @@
                 throw GraalInternalError.shouldNotReachHere();
         }
         ConditionFlag flag = ConditionFlag.fromCondtition(conditionCode, Condition.EQ, false);
-        append(new CondMoveOp(kind, result, conditionCode, flag, loadSimm11(trueValue), loadSimm11(falseValue)));
+        append(new CondMoveOp(result, conditionCode, flag, loadSimm11(trueValue), loadSimm11(falseValue)));
         return result;
     }
 
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java	Mon Apr 20 14:50:16 2015 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java	Mon Apr 20 14:58:45 2015 +0200
@@ -377,7 +377,8 @@
                             }
                         }
                     } catch (Throwable t) {
-                        println("CompileTheWorld (%d) : Skipping %s", classFileCounter, className);
+                        println("CompileTheWorld (%d) : Skipping %s %s", classFileCounter, className, t.toString());
+                        t.printStackTrace();
                     }
                 }
                 jarFile.close();
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java	Mon Apr 20 14:50:16 2015 +0200
+++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java	Mon Apr 20 14:58:45 2015 +0200
@@ -518,8 +518,6 @@
     public static final class CondMoveOp extends SPARCLIRInstruction {
         public static final LIRInstructionClass<CondMoveOp> TYPE = LIRInstructionClass.create(CondMoveOp.class);
 
-        private final Kind kind;
-
         @Def({REG, HINT}) protected Value result;
         @Use({REG, CONST}) protected Value trueValue;
         @Use({REG, CONST}) protected Value falseValue;
@@ -527,9 +525,8 @@
         private final ConditionFlag condition;
         private final CC cc;
 
-        public CondMoveOp(Kind kind, Variable result, CC cc, ConditionFlag condition, Value trueValue, Value falseValue) {
+        public CondMoveOp(Variable result, CC cc, ConditionFlag condition, Value trueValue, Value falseValue) {
             super(TYPE);
-            this.kind = kind;
             this.result = result;
             this.condition = condition;
             this.trueValue = trueValue;
@@ -540,9 +537,9 @@
         @Override
         public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) {
             if (result.equals(trueValue)) { // We have the true value in place, do he opposite
-                cmove(masm, cc, kind, result, condition.negate(), falseValue);
+                cmove(masm, cc, result, condition.negate(), falseValue);
             } else if (result.equals(falseValue)) {
-                cmove(masm, cc, kind, result, condition, trueValue);
+                cmove(masm, cc, result, condition, trueValue);
             } else { // We have to move one of the input values to the result
                 ConditionFlag actualCondition = condition;
                 Value actualTrueValue = trueValue;
@@ -553,12 +550,12 @@
                     actualFalseValue = trueValue;
                 }
                 SPARCMove.move(crb, masm, result, actualFalseValue, SPARCDelayedControlTransfer.DUMMY);
-                cmove(masm, cc, kind, result, actualCondition, actualTrueValue);
+                cmove(masm, cc, result, actualCondition, actualTrueValue);
             }
         }
     }
 
-    private static void cmove(SPARCMacroAssembler masm, CC cc, Kind kind, Value result, ConditionFlag cond, Value other) {
+    private static void cmove(SPARCMacroAssembler masm, CC cc, Value result, ConditionFlag cond, Value other) {
         switch (other.getKind()) {
             case Int:
                 if (isConstant(other)) {