2510450fa600c8de622adf0599a2008134348cb1
[libfirm] / ir / common / firm_common_t.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 * All rights reserved.
3 */
4
5 /**
6  * @file firm_common_t.h
7  *
8  * preprocessor flags
9  *
10  * @author Martin Trapp, Christian Schaefer & Goetz Lindenmaier
11  */
12
13 /* $Id$ */
14
15 # ifndef _COMMON_T_H_
16 # define _COMMON_T_H_
17
18 #include "firm_common.h"
19
20 /* --- Global flags.  Set these by autoconf?? --- */
21
22 /** When set Phi node construction uses the values valid when the fragile
23    operation is executed.  Else it uses the values valid at the end of the
24    block with the fragile operation. */
25 #define PRECISE_EXC_CONTEXT 1
26
27 /** There are two implementations of the Phi node construction.  The first
28    is faster, but does not work for blocks with more than 2 predecessors.
29    The second works always but is slower and causes more unnecessary Phi
30    nodes.
31    Select the implementations by the following preprocessor flag: */
32 #define USE_FAST_PHI_CONSTRUCTION 0
33
34 /** Further there are two versions of the fast Phi node construction.
35    If the following flag is set, new_r_Phi_in uses an explicit stack for
36    allocating and deallocating Phi nodes.  Else it uses the obstack
37    as a stack! */
38 #define USE_EXPLICIT_PHI_IN_STACK 0
39
40 /*
41  * If this is defined debuging aids are created, e.g. a field in
42  * ir_node uniquely numbering the nodes.
43  * #define DEBUG_libfirm 1
44  * This is now set by the configure script as an option.
45  */
46 #ifdef HAVE_CONFIG_H
47 # include <config.h>
48 #endif
49
50 /** If this and DEBUG_libfirm are defined irdump uses the nodeid numbers as
51    labels for the vcg nodes.  This makes the vcg graph better readable.
52    Sometimes it's useful to see the pointer values, though. */
53 #define NODEID_AS_LABEL 1
54
55 # endif /*_COMMON_T_H_ */