verify: Clarify assertion message.
[libfirm] / ir / ir / irflag_t.def
1 /*
2  * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
3  *
4  * This file is part of libFirm.
5  *
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.
10  *
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.
14  *
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
17  * PURPOSE.
18  */
19
20 /**
21  * @file
22  * @brief     Definitions for optimisation flags
23  * @author    Michael Beck, Sebastian Hack
24  */
25
26 /*
27  * We have 3 kinds of flags:
28  * I_FLAGS are INTERNAL flags: There is only a public set_opt_<flag> function
29  * E_FLAGS are EXTERNAL flags: Public get_opt_<flag> and set_opt_<flag> fucntions exists
30  * R_FLAGS are RUNNING flags: Use only internally in libfirm to indicate running states
31  */
32
33 /** Turn off all optimizations. */
34 I_FLAG(optimize                           , 0, ON)
35
36 /** Common subexpression eliminations: Hash the nodes. */
37 E_FLAG(cse                                , 1, ON)
38
39 /** Don't use block predecessor for comparison.
40  *  Default must be zero as code placement must
41  *  be run right after a local optimize walk with
42  *  global_cse on. */
43 I_FLAG(global_cse                         , 2, OFF)
44
45 /** Evaluate operations. */
46 E_FLAG(constant_folding                   , 3, ON)
47
48 /** Algebraic simplifications. */
49 I_FLAG(algebraic_simplification           , 4, ON)
50
51 /** Use Global Null Pointer Test elimination. */
52 I_FLAG(global_null_ptr_elimination        , 5, ON)
53
54 /** Automatically create Sync node during construction. */
55 I_FLAG(auto_create_sync                   , 10, OFF)
56
57 /** Enable Alias-analysis. */
58 I_FLAG(alias_analysis                     , 11, ON)
59
60 /** Closed world assumption. */
61 I_FLAG(closed_world                       , 12, OFF)
62
63 /* -------------------- RUNNING flags ------------------- */
64
65 /** This flag is set while the reassociation optimizations are running */
66 R_FLAG(reassoc                            , 0)