From 6ad7223e64335e9a5c69bf81a2a3f1c5b0c034ba Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Fri, 17 Jun 2005 17:36:09 +0000 Subject: [PATCH] added data for floating point constant statistics [r6066] --- ir/stat/firmstat_t.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/ir/stat/firmstat_t.h b/ir/stat/firmstat_t.h index 9c8b40255..ab4bd397a 100644 --- a/ir/stat/firmstat_t.h +++ b/ir/stat/firmstat_t.h @@ -125,12 +125,26 @@ typedef struct _block_entry_t { long block_nr; /**< block nr */ } block_entry_t; +/** + * Some potential interesting float values + */ +typedef enum _float_classify_t { + STAT_FC_0, /**< the float value 0.0 */ + STAT_FC_1, /**< the float value 1.0 */ + STAT_FC_2, /**< the float value 2.0 */ + STAT_FC_0_5, /**< the float value 0.5 */ + STAT_FC_EXACT, /**< an exact value */ + STAT_FC_OTHER, /**< all other values */ + STAT_FC_MAX /**< last value */ +} float_classify_t; + /** * constant info */ typedef struct _constant_info_t { - counter_t bits_count[32]; /**< distribution of bit sizes of constants */ - counter_t others; /**< number of other constants */ + counter_t int_bits_count[32]; /**< distribution of bit sizes of integer constants */ + counter_t floats[STAT_FC_MAX]; /**< floating point constants */ + counter_t others; /**< all other constants */ } constant_info_t; /** forward */ @@ -291,4 +305,9 @@ void stat_const_clear(stat_info_t *status); */ void stat_init_const_cnt(stat_info_t *status); +/** + * return a human readable name for an float classification + */ +const char *stat_fc_name(float_classify_t classification); + #endif /* _FIRMSTAT_T_H_ */ -- 2.20.1