80 |
(*esac*)) |
(*esac*)) |
81 |
in |
in |
82 |
case instr |
case instr |
83 |
of I.ANNOTATION{i, ...} => rewriteDef(instr, rs, rt) |
of I.ANNOTATION{i, ...} => rewriteDef(i, rs, rt) |
84 |
| I.KILL{regs, spilled} => |
| I.KILL{regs, spilled} => |
85 |
I.KILL{regs=C.addReg(rt, C.rmvReg(rs, regs)), spilled=spilled} |
I.KILL{regs=C.addReg(rt, C.rmvReg(rs, regs)), spilled=spilled} |
86 |
| I.INSTR(i) => I.INSTR(sparcDef(i)) |
| I.INSTR(i) => I.INSTR(sparcDef(i)) |
112 |
(*esac*)) |
(*esac*)) |
113 |
in |
in |
114 |
case instr |
case instr |
115 |
of I.ANNOTATION{i, ...} => frewriteUse(instr, rs, rt) |
of I.ANNOTATION{i, ...} => frewriteUse(i, rs, rt) |
116 |
| I.INSTR(i) => I.INSTR(sparcUse(i)) |
| I.INSTR(i) => I.INSTR(sparcUse(i)) |
117 |
| I.LIVE{regs, spilled} => |
| I.LIVE{regs, spilled} => |
118 |
I.LIVE{regs=C.addFreg(rt, C.rmvFreg(rs, regs)), spilled=spilled} |
I.LIVE{regs=C.addFreg(rt, C.rmvFreg(rs, regs)), spilled=spilled} |
145 |
(*esac*)) |
(*esac*)) |
146 |
in |
in |
147 |
case instr |
case instr |
148 |
of I.ANNOTATION{i, ...} => frewriteDef(instr, rs, rt) |
of I.ANNOTATION{i, ...} => frewriteDef(i, rs, rt) |
149 |
| I.KILL{regs, spilled} => |
| I.KILL{regs, spilled} => |
150 |
I.KILL{regs=C.addFreg(rt, C.rmvFreg(rs, regs)), spilled=spilled} |
I.KILL{regs=C.addFreg(rt, C.rmvFreg(rs, regs)), spilled=spilled} |
151 |
| I.INSTR(i) => I.INSTR(sparcDef(i)) |
| I.INSTR(i) => I.INSTR(sparcDef(i)) |