X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag_t.h;h=32cd48ebfe9e99a6f38c0e6c7751480b264444e5;hb=eda9d668d0e8c8246015b4c5e743316a6a835a23;hp=7c00b21a68fc8cc5ae574bdc5339fcba5096c486;hpb=3b8124d2e35e9dc1ba69c369271adfee231ec8e4;p=libfirm diff --git a/ir/ir/irflag_t.h b/ir/ir/irflag_t.h index 7c00b21a6..32cd48ebf 100644 --- a/ir/ir/irflag_t.h +++ b/ir/ir/irflag_t.h @@ -1,23 +1,30 @@ /* - * Project: libFIRM - * File name: ir/ir/irgraph.c - * Purpose: Flags to control optimizations, inline implementation. - * Author: Michael Beck - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1998-2004 Universität Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. + * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. */ /** - * @file irflag_t.h - * - * Inline implementation of Optimization flags. - * - * @author Michael Beck + * @file + * @brief Flags to control optimizations, inline implementation. + * @author Michael Beck + * @version $Id$ */ -#ifndef _IRFLAG_T_H_ -#define _IRFLAG_T_H_ +#ifndef FIRM_IR_IRFLAG_T_H +#define FIRM_IR_IRFLAG_T_H #include "irflag.h" @@ -36,25 +43,29 @@ typedef enum { extern optimization_state_t libFIRM_opt; extern optimization_state_t libFIRM_verb; +extern firm_verification_t opt_do_node_verification; extern int firm_verbosity_level; +/** initialises the flags */ +void firm_init_flags(void); + /* generate the getter functions for external access */ -#define E_FLAG(name, value, def) \ -static INLINE int _get_opt_##name(void) { \ - return libFIRM_opt & irf_##name; \ -} \ -static INLINE int get_opt_##name##_verbose(void) { \ - return libFIRM_verb & irf_##name; \ +#define E_FLAG(name, value, def) \ +static INLINE int _get_opt_##name(void) { \ + return libFIRM_opt & irf_##name; \ +} \ +static INLINE int get_opt_##name##_verbose(void) { \ + return libFIRM_verb & irf_##name; \ } /* generate the getter functions for internal access */ -#define I_FLAG(name, value, def) \ - static INLINE int get_opt_##name(void) { \ - return libFIRM_opt & irf_##name; \ -} \ - static INLINE int get_opt_##name##_verbose(void) { \ - return libFIRM_verb & irf_##name; \ +#define I_FLAG(name, value, def) \ +static INLINE int get_opt_##name(void) { \ + return libFIRM_opt & irf_##name; \ +} \ +static INLINE int get_opt_##name##_verbose(void) { \ + return libFIRM_verb & irf_##name; \ } #include "irflag_t.def" @@ -62,7 +73,6 @@ static INLINE int get_opt_##name##_verbose(void) { \ #undef I_FLAG #undef E_FLAG - static INLINE int _get_firm_verbosity (void) { return firm_verbosity_level; } @@ -71,6 +81,11 @@ static INLINE int _get_optimize (void) { return get_opt_optimize(); } +static INLINE firm_verification_t +get_node_verification_mode(void) { + return opt_do_node_verification; +} + #define get_optimize() _get_optimize() #define get_opt_cse() _get_opt_cse() #define get_firm_verbosity() _get_firm_verbosity() @@ -78,4 +93,6 @@ static INLINE int _get_optimize (void) { #define get_opt_optimize_class_casts() _get_opt_optimize_class_casts() #define get_opt_suppress_downcast_optimization() _get_opt_suppress_downcast_optimization() -#endif /* _IRFLAG_T_H_ */ +extern void firm_init_flags(void); + +#endif