Beispiel #1
0
 /** Return true if the instruction can be deleted without changing program semantics. */
 public boolean canBeDeleted(RegisterSet registers) {
   int ard = registers.actualRegister(rd);
   return (ard == SparcRegisterSet.G0_REG);
 }
Beispiel #2
0
 /** Return true if the instruction uses the register. */
 public boolean uses(int register, RegisterSet registers) {
   int ars1 = registers.actualRegister(rs1);
   int areg = registers.actualRegister(register);
   return (areg == ars1);
 }
Beispiel #3
0
 /** Return true if the instruction sets the register. */
 public boolean defs(int register, RegisterSet registers) {
   int ard = registers.actualRegister(rd);
   int areg = registers.actualRegister(register);
   return (areg == ard);
 }
 /** Mark the instruction as no longer needed. */
 public void nullify(RegisterSet rs) {
   if (rs.virtualRegister(ra) && !isMandatory()) {
     super.nullify(rs);
   }
 }