CVS:
[libfirm] / ir / ir / irgmod.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
3 **
4 ** Authors: Martin Trapp, Christian Schaefer
5 **
6 ** irgmod.h: ir graph modification
7 */
8
9 # ifndef _IRGMOD_H_
10 # define _IRGMOD_H_
11
12 # include "irnode.h"
13
14 /* Turns a node into a "useless" Tuple.  The Tuple node just forms a tuple
15    from several inputs.  The predecessors of the tuple have to be
16    set by hand.
17    This is useful if a node returning a tuple is removed, but the Projs
18    extracting values from the tuple are not available. */
19 void turn_into_tuple (ir_node *node, int arity);
20
21 /* Exchanges two nodes by conserving edges leaving old (i.e., pointers
22    pointing to old).  Turns the old node into an Id. Requires that
23    current_ir_graph is set properly. */
24 inline void exchange (ir_node *old, ir_node *new);
25
26 #endif /* ifndef _IRGMOD_H_ */