From 2adf5813e8575dd3c7a06433cdcaa3b045202d7f Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 28 Nov 2005 12:44:01 +0000 Subject: [PATCH] added prototype for firm_init_flags(), some cleanup [r6988] --- ir/ir/irflag.c | 21 ++++++++++++++++++--- ir/ir/irflag.h | 5 +++++ ir/ir/irflag_t.h | 28 +++++++++++++++------------- 3 files changed, 38 insertions(+), 16 deletions(-) diff --git a/ir/ir/irflag.c b/ir/ir/irflag.c index 6a656d396..f00001fe1 100644 --- a/ir/ir/irflag.c +++ b/ir/ir/irflag.c @@ -14,6 +14,8 @@ # include "config.h" #endif +#include + #ifdef WITH_LIBCORE #include #endif @@ -115,11 +117,24 @@ void restore_optimization_state(const optimization_state_t *state) libFIRM_opt = *state; } +/* Switches ALL optimizations off */ +void all_optimizations_off(void) +{ + libFIRM_opt = 0; +} + #ifdef _DEBUG -void firm_show_flags(void) { -#define E_FLAG(name, value, def) printf(#name " = %s\n", get_opt_##name() ? "ON" : "OFF"); -#define I_FLAG(name, value, def) printf(#name " = %s\n", get_opt_##name() ? "ON" : "OFF"); +/* only for debugging */ +void firm_show_flags(FILE *f) { + if (! f) + f = stdout; + printf("Firm optimization state:\n"); +#define E_FLAG(name, value, def) printf(" %-20s = %s\n", #name, get_opt_##name() ? "ON" : "OFF"); +#define I_FLAG(name, value, def) printf(" %-20s = %s\n", #name, get_opt_##name() ? "ON" : "OFF"); #include "irflag_t.def" +#undef I_FLAG +#undef E_FLAG + printf("\n"); } #endif diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index 295c82cfe..52e0a15d8 100644 --- a/ir/ir/irflag.h +++ b/ir/ir/irflag.h @@ -283,4 +283,9 @@ void save_optimization_state(optimization_state_t *state); */ void restore_optimization_state(const optimization_state_t *state); +/** + * Switches ALL optimizations off. + */ +void all_optimizations_off(void); + #endif /* _IRFLAG_H_ */ diff --git a/ir/ir/irflag_t.h b/ir/ir/irflag_t.h index 7c00b21a6..34d77b3ca 100644 --- a/ir/ir/irflag_t.h +++ b/ir/ir/irflag_t.h @@ -39,22 +39,25 @@ extern optimization_state_t libFIRM_verb; 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 +65,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; } -- 2.20.1