Beispiel #1
0
 /** Is there an instruction r1 = split r2 or r2 = split r1?? */
 private static boolean split(OPT_Register r1, OPT_Register r2) {
   for (OPT_RegisterOperandEnumeration e = OPT_DefUse.defs(r1); e.hasMoreElements(); ) {
     OPT_RegisterOperand def = (OPT_RegisterOperand) e.nextElement();
     OPT_Instruction s = def.instruction;
     if (s.operator == SPLIT) {
       OPT_Operand rhs = Unary.getVal(s);
       if (rhs.similar(def)) return true;
     }
   }
   for (OPT_RegisterOperandEnumeration e = OPT_DefUse.defs(r2); e.hasMoreElements(); ) {
     OPT_RegisterOperand def = (OPT_RegisterOperand) e.nextElement();
     OPT_Instruction s = def.instruction;
     if (s.operator == SPLIT) {
       OPT_Operand rhs = Unary.getVal(s);
       if (rhs.similar(def)) return true;
     }
   }
   return false;
 }