projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove stray declaration
[libfirm]
/
ir
/
stat
/
const_stat.c
diff --git
a/ir/stat/const_stat.c
b/ir/stat/const_stat.c
index
fc2c210
..
296e74b
100644
(file)
--- a/
ir/stat/const_stat.c
+++ b/
ir/stat/const_stat.c
@@
-23,17
+23,17
@@
* @author Michael Beck
* @version $Id$
*/
* @author Michael Beck
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
#include "firmstat_t.h"
#include "tv_t.h"
#include "firmstat_t.h"
#include "tv_t.h"
+#include "util.h"
/**
* calculated the dual logarithm of |value|
*/
/**
* calculated the dual logarithm of |value|
*/
-static unsigned log2abs(long value) {
+static unsigned log2abs(long value)
+{
unsigned res = 0;
if (value < 0)
unsigned res = 0;
if (value < 0)
@@
-65,7
+65,8
@@
static unsigned log2abs(long value) {
/**
* classify the value of a float tarval
*/
/**
* classify the value of a float tarval
*/
-static float_classify_t classify_float_value(tarval *tv) {
+static float_classify_t classify_float_value(ir_tarval *tv)
+{
ir_mode *mode = get_tarval_mode(tv);
if (tv == get_mode_null(mode))
ir_mode *mode = get_tarval_mode(tv);
if (tv == get_mode_null(mode))
@@
-75,17
+76,20
@@
static float_classify_t classify_float_value(tarval *tv) {
else if (tarval_is_finite(tv) && tarval_ieee754_zero_mantissa(tv)) {
int exp = tarval_ieee754_get_exponent(tv);
else if (tarval_is_finite(tv) && tarval_ieee754_zero_mantissa(tv)) {
int exp = tarval_ieee754_get_exponent(tv);
- if (exp == 1)
- return STAT_FC_2;
- else if (exp == -1)
- return STAT_FC_0_5;
+ if (! tarval_is_negative(tv)) {
+ if (exp == 1)
+ return STAT_FC_2;
+ else if (exp == -1)
+ return STAT_FC_0_5;
+ }
return STAT_FC_POWER_OF_TWO;
}
return STAT_FC_OTHER;
}
/* return a human readable name for an float classification */
return STAT_FC_POWER_OF_TWO;
}
return STAT_FC_OTHER;
}
/* return a human readable name for an float classification */
-const char *stat_fc_name(float_classify_t classification) {
+const char *stat_fc_name(float_classify_t classification)
+{
switch (classification) {
case STAT_FC_0: return "0.0";
case STAT_FC_1: return "1.0";
switch (classification) {
case STAT_FC_0: return "0.0";
case STAT_FC_1: return "1.0";
@@
-100,9
+104,9
@@
const char *stat_fc_name(float_classify_t classification) {
/* update info on Consts */
void stat_update_const(stat_info_t *status, ir_node *node, graph_entry_t *graph)
{
/* update info on Consts */
void stat_update_const(stat_info_t *status, ir_node *node, graph_entry_t *graph)
{
- ir_mode *mode = get_irn_mode(node);
- tarval *tv;
- unsigned bits;
+ ir_mode
*mode = get_irn_mode(node);
+
ir_
tarval *tv;
+ unsigned
bits;
(void) graph;
if (mode_is_int(mode)) {
(void) graph;
if (mode_is_int(mode)) {
@@
-114,8
+118,8
@@
void stat_update_const(stat_info_t *status, ir_node *node, graph_entry_t *graph)
bits = log2abs(get_tarval_long(tv));
bits = log2abs(get_tarval_long(tv));
- if (bits > ARR_SIZE(status->const_info.int_bits_count))
- bits = ARR_SIZE(status->const_info.int_bits_count);
+ if (bits > ARR
AY
_SIZE(status->const_info.int_bits_count))
+ bits = ARR
AY
_SIZE(status->const_info.int_bits_count);
cnt_inc(&status->const_info.int_bits_count[bits]);
} else if (mode_is_float(mode)) {
cnt_inc(&status->const_info.int_bits_count[bits]);
} else if (mode_is_float(mode)) {
@@
-129,20
+133,22
@@
void stat_update_const(stat_info_t *status, ir_node *node, graph_entry_t *graph)
}
/* clears the const statistics for a new snapshot */
}
/* clears the const statistics for a new snapshot */
-void stat_const_clear(stat_info_t *status) {
+void stat_const_clear(stat_info_t *status)
+{
size_t i;
size_t i;
- for (i = 0; i < ARR_SIZE(status->const_info.int_bits_count); ++i)
+ for (i = 0; i < ARR
AY
_SIZE(status->const_info.int_bits_count); ++i)
cnt_clr(&status->const_info.int_bits_count[i]);
cnt_clr(&status->const_info.int_bits_count[i]);
- for (i = 0; i < ARR_SIZE(status->const_info.floats); ++i)
+ for (i = 0; i < ARR
AY
_SIZE(status->const_info.floats); ++i)
cnt_clr(&status->const_info.floats[i]);
cnt_clr(&status->const_info.others);
}
/* initialize the Const statistic. */
cnt_clr(&status->const_info.floats[i]);
cnt_clr(&status->const_info.others);
}
/* initialize the Const statistic. */
-void stat_init_const_cnt(stat_info_t *status) {
+void stat_init_const_cnt(stat_info_t *status)
+{
(void) status;
/* currently nothing */
}
(void) status;
/* currently nothing */
}