X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_calls.c;h=6f71e0f9068bb19ba36574ea0102200e013c374a;hb=6e6badb48db5cde0b12cb40890d59a7f96a7861b;hp=59ff27f13486de869ac7e3679901a2969104467e;hpb=6a4b9102668449bea6e3c0905df74f7ffff2768b;p=libfirm diff --git a/ir/lower/lower_calls.c b/ir/lower/lower_calls.c index 59ff27f13..6f71e0f90 100644 --- a/ir/lower/lower_calls.c +++ b/ir/lower/lower_calls.c @@ -48,7 +48,7 @@ static pmap *type_map; * Default implementation for finding a pointer type for a given element type. * Simple create a new one. */ -static ir_type *def_find_pointer_type(ir_type *e_type, ir_mode *mode, int alignment) +static ir_type *def_find_pointer_type(ir_type *e_type, int alignment) { ir_type *res; pmap_entry *e; @@ -59,7 +59,7 @@ static ir_type *def_find_pointer_type(ir_type *e_type, ir_mode *mode, int alignm if (e) res = e->value; else { - res = new_type_pointer(id_mangle_u(get_type_ident(e_type), new_id_from_chars("Ptr", 3)), e_type, mode); + res = new_type_pointer(e_type); set_type_alignment_bytes(res, alignment); pmap_insert(type_map, e_type, res); } @@ -83,7 +83,6 @@ static ir_type *create_modified_mtd_type(const lower_params_t *lp, ir_type *mtp) int *param_map; ir_mode *modes[MAX_REGISTER_RET_VAL]; int n_ress, n_params, nn_ress, nn_params, i, first_variadic; - ident *id; add_hidden hidden_params; int changed = 0; ir_variadicity var; @@ -130,7 +129,7 @@ static ir_type *create_modified_mtd_type(const lower_params_t *lp, ir_type *mtp) else { /* this compound will be allocated on callers stack and its address will be transmitted as a hidden parameter. */ - ptr_tp = lp->find_pointer_type(res_tp, get_modeP_data(), lp->def_ptr_alignment); + ptr_tp = lp->find_pointer_type(res_tp, lp->def_ptr_alignment); params[nn_params] = ptr_tp; param_map[nn_params] = -1 - i; ++nn_params; @@ -165,7 +164,7 @@ static ir_type *create_modified_mtd_type(const lower_params_t *lp, ir_type *mtp) res_tp = get_method_res_type(mtp, i); if (is_compound_type(res_tp)) { - params[nn_params] = lp->find_pointer_type(res_tp, get_modeP_data(), lp->def_ptr_alignment); + params[nn_params] = lp->find_pointer_type(res_tp, lp->def_ptr_alignment); param_map[nn_params] = -1 - i; ++nn_params; } else { @@ -175,8 +174,7 @@ static ir_type *create_modified_mtd_type(const lower_params_t *lp, ir_type *mtp) } /* create the new type */ - id = id_mangle_u(new_id_from_chars("L", 1), get_type_ident(mtp)); - lowered = new_d_type_method(id, nn_params, nn_ress, get_type_dbg_info(mtp)); + lowered = new_d_type_method(nn_params, nn_ress, get_type_dbg_info(mtp)); /* fill it */ for (i = 0; i < nn_params; ++i) @@ -566,8 +564,7 @@ static void add_hidden_param(ir_graph *irg, int n_com, ir_node **ins, cl_entry * /* get rid of the CopyB */ turn_into_tuple(p, pn_CopyB_max); - set_Tuple_pred(p, pn_CopyB_M_regular, mem); - set_Tuple_pred(p, pn_CopyB_M_except, get_irg_bad(irg)); + set_Tuple_pred(p, pn_CopyB_M, mem); set_Tuple_pred(p, pn_CopyB_X_regular, new_r_Jmp(blk)); set_Tuple_pred(p, pn_CopyB_X_except, get_irg_bad(irg)); ++n_args; @@ -795,7 +792,7 @@ static void transform_irg(const lower_params_t *lp, ir_graph *irg) pred, tp ); - mem = new_r_Proj(bl, copy, mode_M, pn_CopyB_M_regular); + mem = new_r_Proj(bl, copy, mode_M, pn_CopyB_M); } } if (lp->flags & LF_RETURN_HIDDEN) {