2009-02-16 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / cprop.c
index c24eb0f90990394868462fbcc2b2fc013d827d53..e1ad2d712d25169357298d579681ba04a7e82bd7 100644 (file)
@@ -77,7 +77,7 @@ local_copy_prop (MonoCompile *cfg, MonoInst *code)
        //g_print ("starting BB\n");
 
        while (ins) {
-               spec = ins_spec [ins->opcode];
+               spec = ins_get_spec (ins->opcode);
                //print_ins (0, ins);
 
                if (spec [MONO_INST_CLOB] != 's' && spec [MONO_INST_CLOB] != '1' && spec [MONO_INST_CLOB] != 'd' && spec [MONO_INST_CLOB] != 'a' && spec [MONO_INST_CLOB] != 'c') {
@@ -112,10 +112,10 @@ local_copy_prop (MonoCompile *cfg, MonoInst *code)
                        acp = add_acp (cfg, acp, ins->sreg1, ins->dreg, spec [MONO_INST_SRC1]);
                }
 
-               if (spec [MONO_INST_CLOB] != 'c') {
+               if (spec [MONO_INST_CLOB] == 'c') {
                        /* this is a call, invalidate all the pairs */
                        acp = NULL;
-               } else if ((ins->opcode) == CEE_BR || (ins->opcode >= CEE_BEQ && ins->opcode <= CEE_BLT) ||
+               } else if ((ins->opcode) == OP_BR || (ins->opcode >= CEE_BEQ && ins->opcode <= CEE_BLT) ||
                                (ins->opcode >= CEE_BNE_UN && ins->opcode <= CEE_BLT_UN)) {
                        acp = NULL; /* invalidate all pairs */
                        /* it's not enough to invalidate the pairs, because we don't always