/**
  * Given a symbolic register, return a code that gives the physical register type to hold the
  * value of the symbolic register.
  *
  * @param r a symbolic register
  * @return one of INT_REG, DOUBLE_REG
  */
 public static int getPhysicalRegisterType(Register r) {
   if (r.isInteger() || r.isLong() || r.isAddress()) {
     return INT_REG;
   } else if (r.isFloatingPoint()) {
     return DOUBLE_REG;
   } else {
     throw new OptimizingCompilerException("getPhysicalRegisterType " + " unexpected " + r);
   }
 }