From: Christian Würdig Date: Tue, 13 Feb 2007 10:49:25 +0000 (+0000) Subject: ifdef'ed out-edges for keep alives with USE_KEEPALIVE_OUT_EDGES X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=d0199dec6d72f8f18418ef981f7ee21b6dc422d6;hp=2c958f5ffe3918bf42ddd11b41a154ad042f3286;p=libfirm ifdef'ed out-edges for keep alives with USE_KEEPALIVE_OUT_EDGES [r8631] --- diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index 7435c93fa..05c134906 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -831,13 +831,16 @@ add_End_keepalive (ir_node *end, ir_node *ka) { assert(end->op == op_End); l = ARR_LEN(end->in); ARR_APP1(ir_node *, end->in, ka); - edges_notify_edge(end, l - 1, end->in[l], NULL, irg); + //edges_notify_edge(end, l - 1, end->in[l], NULL, irg); } void set_End_keepalive(ir_node *end, int pos, ir_node *ka) { assert(end->op == op_End); + end->in[pos + 1 + END_KEEPALIVE_OFFSET] = ka; +#ifdef USE_KEEPALIVE_OUT_EDGES set_irn_n(end, pos + END_KEEPALIVE_OFFSET, ka); +#endif /* USE_KEEPALIVE_OUT_EDGES */ } /* Set new keep-alives */ @@ -845,15 +848,19 @@ void set_End_keepalives(ir_node *end, int n, ir_node *in[]) { int i; ir_graph *irg = get_irn_irg(end); +#ifdef USE_KEEPALIVE_OUT_EDGES /* notify that edges are deleted */ for (i = 1 + END_KEEPALIVE_OFFSET; i < ARR_LEN(end->in); ++i) { edges_notify_edge(end, i, NULL, end->in[i], irg); } +#endif /* USE_KEEPALIVE_OUT_EDGES */ ARR_RESIZE(ir_node *, end->in, n + 1 + END_KEEPALIVE_OFFSET); for (i = 0; i < n; ++i) { end->in[1 + END_KEEPALIVE_OFFSET + i] = in[i]; +#ifdef USE_KEEPALIVE_OUT_EDGES edges_notify_edge(end, END_KEEPALIVE_OFFSET + i, end->in[1 + END_KEEPALIVE_OFFSET + i], NULL, irg); +#endif /* USE_KEEPALIVE_OUT_EDGES */ } }