X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgmod.c;h=ec7cc6d42f517c61e06d872539c488cdcd1f4daa;hb=5f8ddee6b08c8040c0a304a347d65045c1141d52;hp=61f549b9567970ace97e528b90191b6dc663b79d;hpb=45a9397451c25fb527c32c87f64ffefc72015c81;p=libfirm diff --git a/ir/ir/irgmod.c b/ir/ir/irgmod.c index 61f549b95..ec7cc6d42 100644 --- a/ir/ir/irgmod.c +++ b/ir/ir/irgmod.c @@ -1,3 +1,4 @@ + /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe ** All rights reserved. ** @@ -6,16 +7,11 @@ ** irgmod: ir graph modification */ +# include "irnode_t.h" +# include "irgraph_t.h" # include "irgmod.h" # include "array.h" -/* ir_node * */ -/* arg_access (ir_mode *mode, long proj) */ -/* { */ -/* return new_r_Proj (current_ir_graph, current_ir_graph->start, */ -/* current_ir_graph->args, mode, proj); */ -/* } */ - /* Turns a node into a "useless" Tuple. The Tuple just forms a tuple from several inputs. This is useful if a node returning a tuple is removed, but the Projs @@ -28,9 +24,10 @@ turn_into_tuple (ir_node *node, int arity) if (get_irn_arity(node) == arity) { /* keep old array */ } else { - /* allocate new array, remove old one. */ - /* !!!??? free old in_array */ + /* Allocate new array, don't free old in_array, it's on the obstack. */ + ir_node *block = get_nodes_Block(node); node->in = NEW_ARR_D (ir_node *, current_ir_graph->obst, arity+1); + set_nodes_Block(node, block); } }