3 * File name: ir/ir/iropt_t.h
4 * Purpose: iropt --- optimizations intertwined with IR construction -- private header.
5 * Author: Martin Trapp, Christian Schaefer
6 * Modified by: Goetz Lindenmaier
9 * Copyright: (c) 1998-2003 Universität Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
16 * Declarations for optimizations intertwined with IR construction.
18 * @author Martin Trapp, Christian Schaefer
27 ir_node *equivalent_node (ir_node *n);
32 pset *new_identities (void);
33 void del_identities (pset *value_table);
34 void add_identities (pset *value_table, ir_node *node);
37 ir_node *optimize_node (ir_node *n);
39 ir_node *optimize_in_place_2 (ir_node *n);
41 /* Calculate a hash value of a node. */
42 unsigned ir_node_hash (ir_node *node);
45 * Returns the tarval of a Const node or tarval_bad for all other nodes.
47 static INLINE tarval *
48 value_of(ir_node *n) {
49 if ((n != NULL) && (get_irn_op(n) == op_Const))
50 return get_Const_tarval(n); /* might return tarval_bad */
56 * set the default ir op operations
58 ir_op *firm_set_default_operations(ir_op *op);
60 # endif /* _IROPT_T_H_ */