From 4bdf858cdb11749577b89e449b9665e6fc6ab5e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Mon, 27 Mar 2006 12:46:18 +0000 Subject: [PATCH 1/1] place transformed StackParam nodes in the user Block --- ir/be/ia32/ia32_transform.c | 6 ++++++ 1 file changed, 6 insertions(+) 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); } -- 2.20.1