projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1c199e4
)
disable some expensive statevs
author
Matthias Braun
<matze@braunis.de>
Sun, 28 Sep 2008 18:12:08 +0000
(18:12 +0000)
committer
Matthias Braun
<matze@braunis.de>
Sun, 28 Sep 2008 18:12:08 +0000
(18:12 +0000)
[r22327]
ir/ana/dfs.c
patch
|
blob
|
history
ir/be/becopyheur4.c
patch
|
blob
|
history
ir/be/beintlive_t.h
patch
|
blob
|
history
ir/be/belive.c
patch
|
blob
|
history
ir/stat/statev.c
patch
|
blob
|
history
ir/stat/statev.h
patch
|
blob
|
history
diff --git
a/ir/ana/dfs.c
b/ir/ana/dfs.c
index
209ff08
..
7374cf4
100644
(file)
--- a/
ir/ana/dfs.c
+++ b/
ir/ana/dfs.c
@@
-32,6
+32,8
@@
#include <stdlib.h>
#include <stdlib.h>
+#define DISABLE_STATEV
+
#include <assert.h>
#include "irtools.h"
#include "irprintf.h"
#include <assert.h>
#include "irtools.h"
#include "irprintf.h"
diff --git
a/ir/be/becopyheur4.c
b/ir/be/becopyheur4.c
index
bfad18b
..
e9d20a3
100644
(file)
--- a/
ir/be/becopyheur4.c
+++ b/
ir/be/becopyheur4.c
@@
-33,6
+33,8
@@
#include "config.h"
#endif /* HAVE_CONFIG_H */
#include "config.h"
#endif /* HAVE_CONFIG_H */
+#define DISABLE_STATEV
+
#include <float.h>
#include "array.h"
#include <float.h>
#include "array.h"
diff --git
a/ir/be/beintlive_t.h
b/ir/be/beintlive_t.h
index
ee02f21
..
b8eb841
100644
(file)
--- a/
ir/be/beintlive_t.h
+++ b/
ir/be/beintlive_t.h
@@
-115,8
+115,6
@@
static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, cons
int b2a = _value_dominates(b, a);
int res = 0;
int b2a = _value_dominates(b, a);
int res = 0;
- stat_ev_ctx_push("beintlive");
-
/*
* Adjust a and b so, that a dominates b if
* a dominates b or vice versa.
/*
* Adjust a and b so, that a dominates b if
* a dominates b or vice versa.
@@
-133,7
+131,7
@@
static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, cons
const ir_edge_t *edge;
ir_node *bb = get_nodes_block(b);
const ir_edge_t *edge;
ir_node *bb = get_nodes_block(b);
- stat_ev_dbl("beintlive_ignore", arch_irn_is(lv->birg->main_env->arch_env, a, ignore));
+
//
stat_ev_dbl("beintlive_ignore", arch_irn_is(lv->birg->main_env->arch_env, a, ignore));
/*
* If a is live end in b's block it is
/*
* If a is live end in b's block it is
@@
-165,7
+163,6
@@
static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, cons
}
end:
}
end:
- stat_ev_ctx_pop("beintlive");
return res;
}
return res;
}
diff --git
a/ir/be/belive.c
b/ir/be/belive.c
index
8a81f54
..
ead176e
100644
(file)
--- a/
ir/be/belive.c
+++ b/
ir/be/belive.c
@@
-28,6
+28,9
@@
#include "config.h"
#endif
#include "config.h"
#endif
+/* statev is expensive here, only enable when needed */
+#define DISABLE_STATEV
+
#include "impl.h"
#include "iredges_t.h"
#include "irgwalk.h"
#include "impl.h"
#include "iredges_t.h"
#include "irgwalk.h"
diff --git
a/ir/stat/statev.c
b/ir/stat/statev.c
index
b628ad1
..
8ca9a0f
100644
(file)
--- a/
ir/stat/statev.c
+++ b/
ir/stat/statev.c
@@
-104,7
+104,7
@@
static INLINE int key_matches(const char *key)
void stat_ev_printf(char ev, const char *key, const char *fmt, ...)
{
void stat_ev_printf(char ev, const char *key, const char *fmt, ...)
{
- if (
ev == 'E' &&
!key_matches(key))
+ if (!key_matches(key))
return;
mfprintf(stat_ev_file, "%c;%s", ev, key);
return;
mfprintf(stat_ev_file, "%c;%s", ev, key);
diff --git
a/ir/stat/statev.h
b/ir/stat/statev.h
index
3f32e71
..
7655394
100644
(file)
--- a/
ir/stat/statev.h
+++ b/
ir/stat/statev.h
@@
-28,7
+28,7
@@
#ifndef FIRM_STATEVENT_H
#define FIRM_STATEVENT_H
#ifndef FIRM_STATEVENT_H
#define FIRM_STATEVENT_H
-#if
ndef FIRM_STATISTICS
+#if
!defined(FIRM_STATISTICS) || defined(DISABLE_STATEV)
#define stat_ev_do(expr)
#define stat_ev_if if (0)
#define stat_ev_do(expr)
#define stat_ev_if if (0)