*tree = *cp;
}
} else {
- if ((tree->inst_i0->inst_vtype->type == cp->inst_vtype->type) ||
+ MonoType *inst_i0_underlying_type = mono_type_get_underlying_type (tree->inst_i0->inst_vtype);
+ MonoType *cp_underlying_type = mono_type_get_underlying_type (cp->inst_vtype);
+ if ((inst_i0_underlying_type->type == cp_underlying_type->type) ||
(tree->type == STACK_OBJ) || (tree->type == STACK_MP)) {
if (cfg->opt & MONO_OPT_COPYPROP) {
//{ static int c = 0; printf ("VCOPY %d\n", ++c); }
acp [tree->inst_i0->inst_c0] = i1;
tree_can_be_moved = FALSE;
if (MONO_DEBUG_LOCAL_PROP) {
- printf (" Consequently, ACP[%d] becomes constant ", tree->inst_i0->inst_c0);
+ printf (" Consequently, ACP[%ld] becomes constant ", (long)tree->inst_i0->inst_c0);
mono_print_tree (i1);
printf ("\n");
}
if (tree->inst_i0->inst_i0->opcode == OP_ICONST &&
tree->inst_i0->inst_i1->opcode == OP_ICONST) {
- tree->opcode = CEE_BR;
+ tree->opcode = OP_BR;
if (tree->inst_i0->inst_i0->opcode == tree->inst_i0->inst_i1->opcode) {
tree->inst_target_bb = tree->inst_true_bb;
} else {
}
/* All tests passed, apply move */
*(move->use) = move->definition->inst_i1;
- move->definition->opcode = CEE_NOP;
+ move->definition->opcode = OP_NOP;
move->definition->ssa_op = MONO_SSA_NOP;
/* Then disable moves affected by this move */
printf (" Consequently, kill dependent definition %d: ", tree_mover_slot_to_index (tree_mover, dependency->defined_slot));
mono_print_tree_nl (dependency->dead_definition);
}
- dependency->dead_definition->opcode = CEE_NOP;
+ dependency->dead_definition->opcode = OP_NOP;
dependency->dead_definition->ssa_op = MONO_SSA_NOP;
}
}