X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fsparc_new_nodes.c;h=558872e283459ccfded8598ac2390dadead37d84;hb=9246866a19201d235897e8ef842a28542911cd68;hp=e114de2613ab13176c6bfec1299fce85bc5070d4;hpb=1a3b7d363474ab544c13093a2f0b578718d37c7a;p=libfirm diff --git a/ir/be/sparc/sparc_new_nodes.c b/ir/be/sparc/sparc_new_nodes.c index e114de261..558872e28 100644 --- a/ir/be/sparc/sparc_new_nodes.c +++ b/ir/be/sparc/sparc_new_nodes.c @@ -82,7 +82,7 @@ static bool has_fp_conv_attr(const ir_node *node) */ static void sparc_dump_node(FILE *F, ir_node *n, dump_reason_t reason) { - const sparc_attr_t *attr; + const sparc_attr_t *sparc_attr; switch (reason) { case dump_node_opcode_txt: @@ -93,13 +93,17 @@ static void sparc_dump_node(FILE *F, ir_node *n, dump_reason_t reason) break; case dump_node_info_txt: + if (is_sparc_AddX_t(n) || is_sparc_AddCC_t(n)) + break; + arch_dump_reqs_and_registers(F, n); - attr = get_sparc_attr_const(n); - if (attr->immediate_value_entity) { + sparc_attr = get_sparc_attr_const(n); + if (sparc_attr->immediate_value_entity) { ir_fprintf(F, "entity: %+F (offset %d)\n", - attr->immediate_value_entity, attr->immediate_value); + sparc_attr->immediate_value_entity, + sparc_attr->immediate_value); } else { - ir_fprintf(F, "immediate value: %d\n", attr->immediate_value); + ir_fprintf(F, "immediate value: %d\n", sparc_attr->immediate_value); } if (sparc_has_load_store_attr(n)) { const sparc_load_store_attr_t *attr = get_sparc_load_store_attr_const(n); @@ -110,7 +114,7 @@ static void sparc_dump_node(FILE *F, ir_node *n, dump_reason_t reason) if (has_jmp_cond_attr(n)) { const sparc_jmp_cond_attr_t *attr = get_sparc_jmp_cond_attr_const(n); - fprintf(F, "relation: %d (%s)\n", attr->relation, + fprintf(F, "relation: %d (%s)\n", (int)attr->relation, get_relation_string(attr->relation)); fprintf(F, "unsigned: %s\n", attr->is_unsigned ? "true" : "false"); } @@ -141,6 +145,7 @@ static void sparc_set_attr_imm(ir_node *res, ir_entity *entity, sparc_attr_t *attr = (sparc_attr_t*)get_irn_generic_attr(res); attr->immediate_value_entity = entity; attr->immediate_value = immediate_value; + arch_add_irn_flags(res, (arch_irn_flags_t)sparc_arch_irn_flag_immediate_form); } static void init_sparc_jmp_cond_attr(ir_node *node, ir_relation relation, @@ -236,8 +241,8 @@ static void init_sparc_attributes(ir_node *node, arch_irn_flags_t flags, backend_info_t *info; (void) execution_units; - arch_irn_set_flags(node, flags); - arch_set_in_register_reqs(node, in_reqs); + arch_set_irn_flags(node, flags); + arch_set_irn_register_reqs_in(node, in_reqs); info = be_get_info(node); info->out_infos = NEW_ARR_D(reg_out_info_t, obst, n_res); @@ -367,7 +372,7 @@ static int cmp_attr_sparc_fp_conv(const ir_node *a, const ir_node *b) return 1; return attr_a->src_mode != attr_b->src_mode - || attr_a->dest_mode != attr_b->dest_mode;; + || attr_a->dest_mode != attr_b->dest_mode; } /* Include the generated constructor functions */