Mercurial > hg > graal-compiler
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); } }