From 59f3ed9a540a7368795de28a79b2fc0d7df1d13b Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 8 Oct 2008 14:47:19 +0000 Subject: [PATCH] Mark the old node as visited in be_set_transformed_node(). [r22614] --- ir/be/betranshlp.c | 4 +++- ir/be/ia32/ia32_transform.c | 18 ++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/ir/be/betranshlp.c b/ir/be/betranshlp.c index 1f4785ee8..444dc8cee 100644 --- a/ir/be/betranshlp.c +++ b/ir/be/betranshlp.c @@ -56,8 +56,10 @@ typedef struct be_transform_env_t { static be_transform_env_t env; -void be_set_transformed_node(ir_node *old_node, ir_node *new_node) { +void be_set_transformed_node(ir_node *old_node, ir_node *new_node) +{ set_irn_link(old_node, new_node); + mark_irn_visited(old_node); } int be_is_transformed(const ir_node *node) { diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index f8c6f19e0..5b9feb28e 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -763,12 +763,6 @@ static void match_arguments(ia32_address_mode_t *am, ir_node *block, am->commutative = commutative; } -static void set_transformed_and_mark(ir_node *const old_node, ir_node *const new_node) -{ - mark_irn_visited(old_node); - be_set_transformed_node(old_node, new_node); -} - static ir_node *fix_mem_proj(ir_node *node, ia32_address_mode_t *am) { ir_mode *mode; @@ -781,7 +775,7 @@ static ir_node *fix_mem_proj(ir_node *node, ia32_address_mode_t *am) mode = get_irn_mode(node); load = get_Proj_pred(am->mem_proj); - set_transformed_and_mark(load, node); + be_set_transformed_node(load, node); if (mode != mode_T) { set_irn_mode(node, mode_T); @@ -2024,9 +2018,9 @@ static ir_node *dest_am_binop(ir_node *node, ir_node *op1, ir_node *op2, set_ia32_ls_mode(new_node, mode); SET_IA32_ORIG_NODE(new_node, ia32_get_old_node_name(env_cg, node)); - set_transformed_and_mark(get_Proj_pred(am.mem_proj), new_node); + be_set_transformed_node(get_Proj_pred(am.mem_proj), new_node); mem_proj = be_transform_node(am.mem_proj); - set_transformed_and_mark(mem_proj ? mem_proj : am.mem_proj, new_node); + be_set_transformed_node(mem_proj ? mem_proj : am.mem_proj, new_node); return new_node; } @@ -2060,9 +2054,9 @@ static ir_node *dest_am_unop(ir_node *node, ir_node *op, ir_node *mem, set_ia32_ls_mode(new_node, mode); SET_IA32_ORIG_NODE(new_node, ia32_get_old_node_name(env_cg, node)); - set_transformed_and_mark(get_Proj_pred(am.mem_proj), new_node); + be_set_transformed_node(get_Proj_pred(am.mem_proj), new_node); mem_proj = be_transform_node(am.mem_proj); - set_transformed_and_mark(mem_proj ? mem_proj : am.mem_proj, new_node); + be_set_transformed_node(mem_proj ? mem_proj : am.mem_proj, new_node); return new_node; } @@ -3535,7 +3529,7 @@ static ir_node *gen_be_Return(ir_node *node) { arity, in); copy_node_attr(barrier, new_barrier); be_duplicate_deps(barrier, new_barrier); - set_transformed_and_mark(barrier, new_barrier); + be_set_transformed_node(barrier, new_barrier); /* transform normally */ return be_duplicate_node(node); -- 2.20.1