2 * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
4 * This file is part of libFirm.
6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the
9 * packaging of this file.
11 * Licensees holding valid libFirm Professional Edition licenses may use
12 * this file in accordance with the libFirm Commercial License.
13 * Agreement provided with the Software.
15 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * @brief Internal preprocessor directives.
23 * @author Goetz Lindenmaier
26 #ifndef FIRM_COMMON_COMMON_T_H
27 #define FIRM_COMMON_COMMON_T_H
29 #include "firm_common.h"
31 /* --- Global flags. --- */
33 /** When set Phi node construction uses the values valid when the fragile
34 * operation is executed. Else it uses the values valid at the end of the
35 * block with the fragile operation. */
36 #define PRECISE_EXC_CONTEXT 1
38 /** There are two implementations of the Phi node construction. The first
39 * is faster, but does not work for blocks with more than 2 predecessors.
40 * The second works always but is slower and causes more unnecessary Phi
42 * Select the implementations by the following preprocessor flag: */
43 #define USE_FAST_PHI_CONSTRUCTION 0
45 /** Further there are two versions of the fast Phi node construction.
46 * If the following flag is set, new_r_Phi_in uses an explicit stack for
47 * allocating and deallocating Phi nodes. Else it uses the obstack
49 #define USE_EXPLICIT_PHI_IN_STACK 0
51 /** If this and DEBUG_libfirm are defined irdump uses the nodeid numbers as
52 * labels for the vcg nodes. This makes the vcg graph better readable.
53 * Sometimes it's useful to see the pointer values, though. */
54 #define NODEID_AS_LABEL 1