* inssel.brg mini-<ARCH>.c cpu-<ARCH>.md: Get rid of unused CEE_RET opcode.
svn path=/trunk/mono/; revision=94997
2008-02-06 Zoltan Varga <vargaz@gmail.com>
+ * inssel.brg mini-<ARCH>.c cpu-<ARCH>.md: Get rid of unused CEE_RET opcode.
+
* mini-<ARCH>.c cpu-<ARCH>.md: Get rid of unused LDIND/STIND opcodes.
* *.brg mini-<ARCH>.c cpu-<ARCH>.md: Get rid of OP_SETREG/OP_SETFREG/OP_SETREGIMM,
setlret: dest:i src1:i src2:i len:4
checkthis: src1:b len:4
call: dest:a clob:c len:64
-ret: len:4
voidcall: clob:c len:64
voidcall_reg: src1:i clob:c len:64
voidcall_membase: src1:b clob:c len:64
setlret: dest:i src1:i src2:i len:5
checkthis: src1:b len:5
call: dest:a clob:c len:64
-ret: len:2
voidcall: clob:c len:64
voidcall_reg: src1:i clob:c len:64
voidcall_membase: src1:b clob:c len:64
jmp: len:92
call: dest:v clob:c len:20
calli: dest:v clob:c len:20
-ret: len:8
br.s: len:8
brfalse.s: len:8
brtrue.s: len:8
break: len:1
jmp: len:32
call: dest:a clob:c len:17
-ret: len:1
br: len:5
beq: len:6
bge: len:6
mono_bblock_add_inst (s->cbb, tree);
}
-stmt: CEE_RET "0" {
- mono_bblock_add_inst (s->cbb, tree);
-}
-
stmt: CEE_POP (reg)
# remove some common pops without side effects
alpha_bsr(code, alpha_ra, 0);
}
break;
-
- case CEE_RET:
- CFG_DEBUG(4) g_print("ALPHA_CHECK: [ret]\n");
-
- alpha_ret(code, alpha_ra, 1);
- break;
case OP_THROW:
CFG_DEBUG(4) g_print("ALPHA_CHECK: [throw] sreg1=%0x\n",
code = mono_emit_stack_alloc (code, ins);
amd64_mov_reg_reg (code, ins->dreg, AMD64_RSP, 8);
break;
- case CEE_RET:
- amd64_ret (code);
- break;
case OP_THROW: {
amd64_mov_reg_reg (code, AMD64_ARG_REG1, ins->sreg1, 8);
code = emit_call (cfg, code, MONO_PATCH_INFO_INTERNAL_METHOD,
ARM_ADD_REG_IMM8 (code, ins->dreg, ARMREG_SP, alloca_waste);
break;
}
- case CEE_RET:
- g_assert_not_reached ();
- ARM_MOV_REG_REG (code, ARMREG_PC, ARMREG_LR);
- break;
case OP_THROW: {
if (ins->sreg1 != ARMREG_R0)
ARM_MOV_REG_REG (code, ARMREG_R0, ins->sreg1);
}
break;
}
- case CEE_RET:
- mips_jr (code, mips_ra);
- mips_nop (code);
- break;
case OP_THROW: {
gpointer addr = mono_arch_get_throw_exception();
mips_move (code, mips_a0, ins->sreg1);
ppc_addi (code, ins->dreg, ppc_sp, area_offset);
break;
}
- case CEE_RET:
- ppc_blr (code);
- break;
case OP_THROW: {
//ppc_break (code);
ppc_mr (code, ppc_r3, ins->sreg1);
}
}
break;
- case CEE_RET: {
- s390_br (code, s390_r14);
- }
- break;
case OP_THROW: {
s390_lr (code, s390_r2, ins->sreg1);
mono_add_patch_info (cfg, code-cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
}
}
break;
- case CEE_RET: {
- s390_br (code, s390_r14);
- }
- break;
case OP_THROW: {
s390_lgr (code, s390_r2, ins->sreg1);
s390_basr (code, s390_r13, 0);
}
break;
}
- case CEE_RET:
- /* The return is done in the epilog */
- g_assert_not_reached ();
- break;
case OP_THROW:
sparc_mov_reg_reg (code, ins->sreg1, sparc_o0);
mono_add_patch_info (cfg, (guint8*)code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
code = mono_emit_stack_alloc (code, ins);
x86_mov_reg_reg (code, ins->dreg, X86_ESP, 4);
break;
- case CEE_RET:
- x86_ret (code);
- break;
case OP_THROW: {
x86_push_reg (code, ins->sreg1);
code = emit_call (cfg, code, MONO_PATCH_INFO_INTERNAL_METHOD,