From: Michael Beck Date: Mon, 5 Jun 2006 15:45:37 +0000 (+0000) Subject: Fixed inlining: pn_Start_P_value_arg_base must get a value, so create a lesser tuple X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=da6c61bb506291cc3a541c0eb966ad305972e559;p=libfirm Fixed inlining: pn_Start_P_value_arg_base must get a value, so create a lesser tuple [r7866] --- diff --git a/ir/ir/irgopt.c b/ir/ir/irgopt.c index 884d7e69f..53829b59f 100644 --- a/ir/ir/irgopt.c +++ b/ir/ir/irgopt.c @@ -984,14 +984,15 @@ int inline_method(ir_node *call, ir_graph *called_graph) { post_bl = get_nodes_block(call); set_irg_current_block(current_ir_graph, post_bl); /* XxMxPxPxPxT of Start + parameter of Call */ - in[pn_Start_X_initial_exec] = new_Jmp(); - in[pn_Start_M] = get_Call_mem(call); - in[pn_Start_P_frame_base] = get_irg_frame(current_ir_graph); - in[pn_Start_P_globals] = get_irg_globals(current_ir_graph); - in[pn_Start_P_tls] = get_irg_tls(current_ir_graph); - in[pn_Start_T_args] = new_Tuple(get_Call_n_params(call), get_Call_param_arr(call)); + in[pn_Start_X_initial_exec] = new_Jmp(); + in[pn_Start_M] = get_Call_mem(call); + in[pn_Start_P_frame_base] = get_irg_frame(current_ir_graph); + in[pn_Start_P_globals] = get_irg_globals(current_ir_graph); + in[pn_Start_P_tls] = get_irg_tls(current_ir_graph); + in[pn_Start_T_args] = new_Tuple(get_Call_n_params(call), get_Call_param_arr(call)); /* in[pn_Start_P_value_arg_base] = ??? */ - pre_call = new_Tuple(pn_Start_max, in); + assert(pn_Start_P_value_arg_base == pn_Start_max - 1 && "pn_Start_P_value_arg_base not supported, fix"); + pre_call = new_Tuple(pn_Start_max - 1, in); post_call = call; /* --