libFirm 1.20
|
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