irflag_t.def 1.34 KB
Newer Older
1
/*
Matthias Braun's avatar
Matthias Braun committed
2
 * This file is part of libFirm.
3
 * Copyright (C) 2012 University of Karlsruhe.
Matthias Braun's avatar
Matthias Braun committed
4
5
6
7
 */

/**
 * @file
8
 * @brief     Definitions for optimization flags
9
 * @author    Michael Beck, Sebastian Hack
10
11
 */

12
13
/*
 * We have 3 kinds of flags:
14
 * I_FLAGS are INTERNAL flags: There is only a public set_opt_<flag> function
15
16
17
 * E_FLAGS are EXTERNAL flags: Public get_opt_<flag> and set_opt_<flag> fucntions exists
 */

18
19
20
21
22
23
24
25
26
27
28
29
30
/** Turn off all optimizations. */
I_FLAG(optimize                           , 0, ON)

/** Common subexpression eliminations: Hash the nodes. */
E_FLAG(cse                                , 1, ON)

/** Don't use block predecessor for comparison.
 *  Default must be zero as code placement must
 *  be run right after a local optimize walk with
 *  global_cse on. */
I_FLAG(global_cse                         , 2, OFF)

/** Evaluate operations. */
31
E_FLAG(constant_folding                   , 3, ON)
32

33
/** Algebraic simplifications. */
34
I_FLAG(algebraic_simplification           , 4, ON)
35

36
/** Use Global Null Pointer Test elimination. */
37
I_FLAG(global_null_ptr_elimination        , 5, ON)
38

39
/** Automatically create Sync node during construction. */
40
I_FLAG(auto_create_sync                   , 10, OFF)
41

42
/** Enable Alias-analysis. */
43
I_FLAG(alias_analysis                     , 11, ON)
44

45
/** Closed world assumption. */
46
I_FLAG(closed_world                       , 12, OFF)