21c654610d1871d968942c0175446d349d48ec93
[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 just forms a tuple
15    from several inputs.  The tuples predecessors 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. */
23 inline void exchange (ir_node *old, ir_node *new);
24
25 #endif /* ifndef _IRGMOD_H_ */