From: Matthias Braun Date: Wed, 2 Mar 2011 12:21:33 +0000 (+0100) Subject: sparc: avoid explicitely querying the barrier X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=8ec4a1e10fe72948e6076936d408accdb4e90dc0;p=libfirm sparc: avoid explicitely querying the barrier --- diff --git a/ir/be/sparc/sparc_transform.c b/ir/be/sparc/sparc_transform.c index 338fae2af..d1b1c0af2 100644 --- a/ir/be/sparc/sparc_transform.c +++ b/ir/be/sparc/sparc_transform.c @@ -1853,17 +1853,19 @@ static ir_node *gen_Proj_Start(ir_node *node) { ir_node *block = get_nodes_block(node); ir_node *new_block = be_transform_node(block); - ir_node *barrier = be_transform_node(get_Proj_pred(node)); long pn = get_Proj_proj(node); + /* make sure prolog is constructed */ + be_transform_node(get_Proj_pred(node)); switch ((pn_Start) pn) { case pn_Start_X_initial_exec: /* exchange ProjX with a jump */ return new_bd_sparc_Ba(NULL, new_block); case pn_Start_M: - return new_r_Proj(barrier, mode_M, 0); + return be_prolog_get_memory(abihelper); case pn_Start_T_args: - return barrier; + /* we should never need this explicitely */ + return new_r_Bad(get_irn_irg(block)); case pn_Start_P_frame_base: return get_frame_base(); case pn_Start_P_tls: