diff graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiValueUtil.java @ 4323:df5547057954

Remove LIROpcode and use non-anonymous subclasses of LIRInstruction
author Christian Wimmer <Christian.Wimmer@Oracle.com>
date Wed, 25 Jan 2012 14:34:53 -0800
parents 9ce8594bedaf
children d89b20486d87
line wrap: on
line diff
--- a/graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiValueUtil.java	Wed Jan 25 18:32:03 2012 +0100
+++ b/graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiValueUtil.java	Wed Jan 25 14:34:53 2012 -0800
@@ -110,25 +110,19 @@
     }
 
 
-    public static boolean sameRegister(CiValue...values) {
-        for (int i = 0; i < values.length; i++) {
-            for (int j = i + 1; j < values.length; j++) {
-                if (isRegister(values[i]) && isRegister(values[j]) && asRegister(values[i]) != asRegister(values[j])) {
-                    return false;
-                }
-            }
-        }
-        return true;
+    public static boolean sameRegister(CiValue v1, CiValue v2) {
+        return isRegister(v1) && isRegister(v2) && asRegister(v1) == asRegister(v2);
+    }
+
+    public static boolean sameRegister(CiValue v1, CiValue v2, CiValue v3) {
+        return sameRegister(v1, v2) && sameRegister(v1, v3);
     }
 
-    public static boolean differentRegisters(CiValue...values) {
-        for (int i = 0; i < values.length; i++) {
-            for (int j = i + 1; j < values.length; j++) {
-                if (isRegister(values[i]) && isRegister(values[j]) && asRegister(values[i]) == asRegister(values[j])) {
-                    return false;
-                }
-            }
-        }
-        return true;
+    public static boolean differentRegisters(CiValue v1, CiValue v2) {
+        return !isRegister(v1) || !isRegister(v2) || asRegister(v1) != asRegister(v2);
+    }
+
+    public static boolean differentRegisters(CiValue v1, CiValue v2, CiValue v3) {
+        return differentRegisters(v1, v2) && differentRegisters(v1, v3) && differentRegisters(v2, v3);
     }
 }