From df309ccb41da3016a47261be846e8b4015fca660 Mon Sep 17 00:00:00 2001 From: Adam Szalkowski Date: Mon, 5 Jun 2006 14:45:32 +0000 Subject: [PATCH] restoring old version - changes were unnecessary --- ir/be/beirgmod.c | 36 ++++++++++++++---------------------- ir/be/beirgmod.h | 11 ++--------- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/ir/be/beirgmod.c b/ir/be/beirgmod.c index f0e64f33d..7afcb798b 100644 --- a/ir/be/beirgmod.c +++ b/ir/be/beirgmod.c @@ -297,7 +297,7 @@ static ir_node *search_def(ir_node *usage, int pos, pset *copies, pset *copy_blo return NULL; } -static void fix_usages(pset *copies, pset *copy_blocks, pset *phi_blocks, pset *phis, pset *ignore_uses, pset *uses) +static void fix_usages(pset *copies, pset *copy_blocks, pset *phi_blocks, pset *phis, pset *ignore_uses) { int n_outs = 0; struct obstack obst; @@ -320,14 +320,12 @@ static void fix_usages(pset *copies, pset *copy_blocks, pset *phi_blocks, pset * for (irn = pset_first(copies); irn; irn = pset_next(copies)) { const ir_edge_t *edge; foreach_out_edge(irn, edge) { - if(!uses || pset_find_ptr(uses, get_edge_src_irn(edge))) { - if (!pset_find_ptr(ignore_uses, get_edge_src_irn(edge)) ) { - struct out tmp; - tmp.irn = get_edge_src_irn(edge); - tmp.pos = get_edge_src_pos(edge); - obstack_grow(&obst, &tmp, sizeof(tmp)); - n_outs++; - } + if (!pset_find_ptr(ignore_uses, get_edge_src_irn(edge))) { + struct out tmp; + tmp.irn = get_edge_src_irn(edge); + tmp.pos = get_edge_src_pos(edge); + obstack_grow(&obst, &tmp, sizeof(tmp)); + n_outs++; } } } @@ -386,20 +384,20 @@ static void remove_odd_phis(pset *copies, pset *unused_copies) } } -void be_ssa_constr_phis_ignore(dom_front_info_t *info, int n, ir_node *nodes[], pset *phis, pset *ignore_uses, pset *uses) +void be_ssa_constr_phis_ignore(dom_front_info_t *info, int n, ir_node *nodes[], pset *phis, pset *ignore_uses) { pset *irns = pset_new_ptr(n); int i; for(i = 0; i < n; ++i) pset_insert_ptr(irns, nodes[i]); - be_ssa_constr_set_phis_ignore(info, irns, phis, ignore_uses, uses); + be_ssa_constr_set_phis_ignore(info, irns, phis, ignore_uses); del_pset(irns); } void be_ssa_constr_ignore(dom_front_info_t *info, int n, ir_node *nodes[], pset *ignore_uses) { - be_ssa_constr_phis_ignore(info, n, nodes, NULL, ignore_uses, NULL); + be_ssa_constr_phis_ignore(info, n, nodes, NULL, ignore_uses); } void be_ssa_constr(dom_front_info_t *info, int n, ir_node *nodes[]) @@ -408,7 +406,7 @@ void be_ssa_constr(dom_front_info_t *info, int n, ir_node *nodes[]) be_ssa_constr_ignore(info, n, nodes, empty_set); } -void be_ssa_constr_set_phis_ignore(dom_front_info_t *df, pset *nodes, pset *phis, pset *ignore_uses, pset *uses) +void be_ssa_constr_set_phis_ignore(dom_front_info_t *df, pset *nodes, pset *phis, pset *ignore_uses) { int n = pset_count(nodes); pset *blocks = pset_new_ptr(n); @@ -439,7 +437,7 @@ void be_ssa_constr_set_phis_ignore(dom_front_info_t *df, pset *nodes, pset *phis * Place the phi functions and reroute the usages. */ determine_phi_blocks(nodes, blocks, phi_blocks, df); - fix_usages(nodes, blocks, phi_blocks, phis, ignore_uses, uses); + fix_usages(nodes, blocks, phi_blocks, phis, ignore_uses); /* reset the optimizations */ set_optimize(save_optimize); @@ -453,12 +451,12 @@ void be_ssa_constr_set_phis_ignore(dom_front_info_t *df, pset *nodes, pset *phis void be_ssa_constr_set_phis(dom_front_info_t *df, pset *nodes, pset *phis) { pset *empty_set = be_empty_set(); - be_ssa_constr_set_phis_ignore(df, nodes, phis, empty_set, NULL); + be_ssa_constr_set_phis_ignore(df, nodes, phis, empty_set); } void be_ssa_constr_set_ignore(dom_front_info_t *df, pset *nodes, pset *ignore_uses) { - be_ssa_constr_set_phis_ignore(df, nodes, NULL, ignore_uses, NULL); + be_ssa_constr_set_phis_ignore(df, nodes, NULL, ignore_uses); } void be_ssa_constr_set(dom_front_info_t *info, pset *nodes) @@ -467,12 +465,6 @@ void be_ssa_constr_set(dom_front_info_t *info, pset *nodes) be_ssa_constr_set_ignore(info, nodes, empty_set); } -void be_ssa_constr_set_uses(dom_front_info_t *info, pset *nodes, pset *uses) -{ - pset *empty_set = be_empty_set(); - be_ssa_constr_set_phis_ignore(info, nodes, NULL, empty_set, uses); -} - /* ___ _ ____ |_ _|_ __ ___ ___ _ __| |_ | _ \ ___ _ __ _ __ ___ diff --git a/ir/be/beirgmod.h b/ir/be/beirgmod.h index 10a66fd8c..54fa67913 100644 --- a/ir/be/beirgmod.h +++ b/ir/be/beirgmod.h @@ -59,10 +59,8 @@ void be_free_dominance_frontiers(dom_front_info_t *info); * @param phis A set to which all inserted Phis are added. * @param ignore_uses A set of nodes probably using one of the nodes in @p nodes. * Their usage will not adjusted. They remain untouched by this function. - * @param uses A set of nodes that are only considered for adjusting. Set to NULL - to consider all uses except @p ignore_uses. */ -void be_ssa_constr_phis_ignore(dom_front_info_t *info, int n, ir_node *nodes[], pset *phis, pset *ignore_uses, pset *uses); +void be_ssa_constr_phis_ignore(dom_front_info_t *info, int n, ir_node *nodes[], pset *phis, pset *ignore_uses); /** * Same as be_ssa_constr_phis_ignore() but without the ignore set. @@ -89,15 +87,10 @@ void be_ssa_constr_set_ignore(dom_front_info_t *df, pset *nodes, pset *ignore_us */ void be_ssa_constr_set(dom_front_info_t *info, pset *nodes); -/** - * Same as be_ssa_constr_set() but with uses. - */ -void be_ssa_constr_set_uses(dom_front_info_t *info, pset *nodes, pset *uses); - /** * Same as be_ssa_constr_phis_ignore() but with set instead of array. */ -void be_ssa_constr_set_phis_ignore(dom_front_info_t *info, pset *nodes, pset *phis, pset *ignore, pset *uses); +void be_ssa_constr_set_phis_ignore(dom_front_info_t *info, pset *nodes, pset *phis, pset *ignore); /** * Same as be_ssa_constr_phis_ignore() but without ignore set. -- 2.20.1