2008-03-23 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 23 Mar 2008 13:39:42 +0000 (13:39 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 23 Mar 2008 13:39:42 +0000 (13:39 -0000)
* mini-amd64.c mini-s390.c (mono_arch_lowering_pass): Use mono_decompose_op_imm ().

svn path=/trunk/mono/; revision=98827

mono/mini/ChangeLog
mono/mini/mini-amd64.c
mono/mini/mini-s390.c

index eaa0c92845904ea9027e183e9e66d366bc91a183..b9db057766ccbbb253d147235eb6fd12bfae2013 100644 (file)
@@ -1,5 +1,7 @@
 2008-03-23  Zoltan Varga  <vargaz@gmail.com>
 
+       * mini-amd64.c mini-s390.c (mono_arch_lowering_pass): Use mono_decompose_op_imm ().
+       
        * mini.c (mono_decompose_op_imm): New helper function.
 
        * mini-s390x.c (calculate_sizes): Rename this to get_call_info for consistency
index ad1b0160c57d23d64cbb41a63926f1b669b1fe22..fc83e91e0c1e1f5cdc56e6096f6569bcc670b062 100644 (file)
@@ -1820,11 +1820,7 @@ mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
                case OP_IREM_IMM:
                case OP_IDIV_UN_IMM:
                case OP_IREM_UN_IMM:
-                       NEW_INS (cfg, ins, temp, OP_ICONST);
-                       temp->inst_c0 = ins->inst_imm;
-                       temp->dreg = mono_regstate_next_int (cfg->rs);
-                       ins->opcode = mono_op_imm_to_op (ins->opcode);
-                       ins->sreg2 = temp->dreg;
+                       mono_decompose_op_imm (cfg, ins);
                        break;
                case OP_COMPARE_IMM:
                case OP_LCOMPARE_IMM:
index 27b50b5e8ed10f574791572fae4c5459c3db3803..811166a89091a943a388bcf72e0010e6e3610acd 100644 (file)
@@ -2244,15 +2244,10 @@ mono_arch_peephole_pass_2 (MonoCompile *cfg, MonoBasicBlock *bb)
 
 /*========================= End of Function ========================*/
 
-#define NEW_INS(cfg,dest,op) do {      \
-               MONO_INST_NEW ((cfg), (dest), (op)); \
-               MONO_INST_LIST_ADD_TAIL (&(dest)->node, &(ins)->node); \
-       } while (0)
-
 void
 mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
 {
-       MonoInst *ins, *next, *temp;
+       MonoInst *ins, *next;
 
        if (bb->max_vreg > cfg->rs->next_vreg)
                cfg->rs->next_vreg = bb->max_vreg;
@@ -2265,11 +2260,7 @@ mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
                case OP_IREM_IMM:
                case OP_IDIV_UN_IMM:
                case OP_IREM_UN_IMM:
-                       NEW_INS (cfg, temp, OP_ICONST);
-                       temp->inst_c0 = ins->inst_imm;
-                       temp->dreg = mono_regstate_next_int (cfg->rs);
-                       ins->opcode = mono_op_imm_to_op (ins->opcode);
-                       ins->sreg2 = temp->dreg;
+                       mono_decompose_op_imm (cfg, ins);
                        break;
                default:
                        break;