libFirm 1.20
libfirm/irflag.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
00003  *
00004  * This file is part of libFirm.
00005  *
00006  * This file may be distributed and/or modified under the terms of the
00007  * GNU General Public License version 2 as published by the Free Software
00008  * Foundation and appearing in the file LICENSE.GPL included in the
00009  * packaging of this file.
00010  *
00011  * Licensees holding valid libFirm Professional Edition licenses may use
00012  * this file in accordance with the libFirm Commercial License.
00013  * Agreement provided with the Software.
00014  *
00015  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017  * PURPOSE.
00018  */
00019 
00025 #ifndef FIRM_IR_IRFLAG_H
00026 #define FIRM_IR_IRFLAG_H
00027 
00028 #include "firm_types.h"
00029 #include "begin.h"
00030 
00053 typedef unsigned optimization_state_t;
00054 
00061 FIRM_API void set_optimize(int value);
00064 FIRM_API int get_optimize(void);
00065 
00072 FIRM_API void set_opt_constant_folding(int value);
00073 
00081 FIRM_API void set_opt_algebraic_simplification(int value);
00082 
00088 FIRM_API void set_opt_cse(int value);
00089 
00091 FIRM_API int get_opt_cse(void);
00092 
00102 FIRM_API void set_opt_global_cse(int value);
00103 
00110 FIRM_API void set_opt_suppress_downcast_optimization(int value);
00113 FIRM_API int get_opt_suppress_downcast_optimization(void);
00114 
00124 FIRM_API void set_opt_global_null_ptr_elimination(int value);
00125 
00135 FIRM_API void set_opt_auto_create_sync(int value);
00136 
00141 FIRM_API void set_opt_alias_analysis(int value);
00142 
00149 FIRM_API void set_opt_closed_world(int value);
00150 
00154 FIRM_API void save_optimization_state(optimization_state_t *state);
00155 
00159 FIRM_API void restore_optimization_state(const optimization_state_t *state);
00160 
00164 FIRM_API void all_optimizations_off(void);
00165 
00177 typedef enum firm_verification_t {
00178   FIRM_VERIFICATION_OFF        = 0, 
00179   FIRM_VERIFICATION_ON         = 1, 
00180   FIRM_VERIFICATION_REPORT     = 2, 
00181   FIRM_VERIFICATION_ERROR_ONLY = 3  
00182 } firm_verification_t;
00183 
00191 FIRM_API void do_node_verification(firm_verification_t mode);
00192 
00195 #include "end.h"
00196 
00197 #endif