From 028ee6145dfa23701512138abc97e2b413acd272 Mon Sep 17 00:00:00 2001 From: Sebastian Buchwald Date: Fri, 13 Jul 2012 17:57:51 +0200 Subject: [PATCH] Removed Tuple nodes hold by End node. --- ir/ir/rm_tuples.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ir/ir/rm_tuples.c b/ir/ir/rm_tuples.c index dc9f06ec3..ad4d6b1dd 100644 --- a/ir/ir/rm_tuples.c +++ b/ir/ir/rm_tuples.c @@ -57,5 +57,18 @@ static void exchange_tuple_projs(ir_node *node, void *env) void remove_tuples(ir_graph *irg) { irg_walk_graph(irg, exchange_tuple_projs, NULL, NULL); + + ir_node *end = get_irg_end(irg); + int n_keepalives = get_End_n_keepalives(end); + int i; + + for (i = n_keepalives - 1; i >= 0; --i) { + ir_node *irn = get_End_keepalive(end, i); + + if (is_Tuple(irn)) { + remove_End_keepalive(end, irn); + } + } + add_irg_properties(irg, IR_GRAPH_PROPERTY_NO_TUPLES); } -- 2.20.1