From 8ec4a1e10fe72948e6076936d408accdb4e90dc0 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Wed, 2 Mar 2011 13:21:33 +0100 Subject: [PATCH] sparc: avoid explicitely querying the barrier --- ir/be/sparc/sparc_transform.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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: -- 2.20.1