X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Frm_tuples.c;h=ad4d6b1dde762cb8a758b943ec3b9a7b50ae8b1b;hb=b59e22a229aa1227ef992c184c79fdafe34908cf;hp=adc6d8da1480b8ae78ded7e11eea1ecbcd62c576;hpb=18329a03eee9bae6c0649eb7e35f744d1b9a1476;p=libfirm diff --git a/ir/ir/rm_tuples.c b/ir/ir/rm_tuples.c index adc6d8da1..ad4d6b1dd 100644 --- a/ir/ir/rm_tuples.c +++ b/ir/ir/rm_tuples.c @@ -57,4 +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); }