Reset link field to NULL on construction
[libfirm] / ir / ir / iropt.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 * All rights reserved.
3 */
4
5 /**
6 * @file iropt.h
7 *
8 * Declarations for optimizations intertwined with IR construction.
9 *
10 * @author Martin Trapp, Christian Schaefer
11 */
12
13 /* $Id$ */
14
15 # ifndef _IROPT_H_
16 # define _IROPT_H_
17
18 # include "irnode.h"
19 # include "irgraph.h"
20 # include "irflag.h"
21
22 /* optimize_in_place (n) may change the contents of the ir_node itself,
23    [e.g. by making it a Id-node], but does not change its identity.
24    So it is safe to be called on already referenced nodes.
25
26    optimize_in_place (n) returns a pointer to a node equivalent to `n'
27    which should be used instead of `n'.
28
29    optimize (n) may deallocate `n' and everything allocated after `n'! */
30
31 tarval  *computed_value (ir_node *n);
32
33 ir_node *optimize_in_place (ir_node *n);
34
35 # endif /* _IROPT_H_ */