From: Christian Würdig Date: Mon, 27 Mar 2006 12:46:18 +0000 (+0000) Subject: place transformed StackParam nodes in the user Block X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=4bdf858cdb11749577b89e449b9665e6fc6ab5e8;p=libfirm place transformed StackParam nodes in the user Block --- diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 64349dcb4..c32c060f0 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -1618,6 +1618,12 @@ static ir_node *gen_StackParam(ia32_transform_env_t *env) { entity *ent = be_get_frame_entity(node); ir_mode *mode = env->mode; + /* If the StackParam has only one user -> */ + /* put it in the Block where the user resides */ + if (get_irn_n_edges(node) == 1) { + env->block = get_nodes_block(get_edge_src_irn(get_irn_out_edge_first(node))); + } + if (mode_is_float(mode)) { new_op = new_rd_ia32_fLoad(env->dbg, env->irg, env->block, ptr, noreg, mem, mode_T); }