X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Frm_tuples.c;h=ad4d6b1dde762cb8a758b943ec3b9a7b50ae8b1b;hb=b59e22a229aa1227ef992c184c79fdafe34908cf;hp=dc9f06ec3b256fde525888319205dac325a04083;hpb=7a483ab981d403222150c320242adaad13d60af9;p=libfirm 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); }