projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
aa56108
)
small optimisation (avoids edges_notify_edge)
author
Matthias Braun
<matze@braunis.de>
Fri, 1 Aug 2008 10:44:33 +0000
(10:44 +0000)
committer
Matthias Braun
<matze@braunis.de>
Fri, 1 Aug 2008 10:44:33 +0000
(10:44 +0000)
[r20892]
ir/ana/irouts.c
patch
|
blob
|
history
diff --git
a/ir/ana/irouts.c
b/ir/ana/irouts.c
index
825bd31
..
2f1d43e
100644
(file)
--- a/
ir/ana/irouts.c
+++ b/
ir/ana/irouts.c
@@
-309,15
+309,19
@@
static int _count_outs(ir_node *n) {
for (i = start; i < irn_arity; ++i) {
/* Optimize Tuples. They annoy if walking the cfg. */
for (i = start; i < irn_arity; ++i) {
/* Optimize Tuples. They annoy if walking the cfg. */
- ir_node *pred = skip_Tuple(get_irn_n(n, i));
- set_irn_n(n, i, pred);
+ ir_node *pred = get_irn_n(n, i);
+ ir_node *skipped_pred = skip_Tuple(pred);
+
+ if (skipped_pred != pred) {
+ set_irn_n(n, i, skipped_pred);
+ }
/* count Def-Use edges for predecessors */
/* count Def-Use edges for predecessors */
- if (irn_not_visited(pred))
- res += _count_outs(pred);
+ if (irn_not_visited(
skipped_
pred))
+ res += _count_outs(
skipped_
pred);
/*count my Def-Use edges */
/*count my Def-Use edges */
-
pred->out = INT_TO_PTR(PTR_TO_INT(
pred->out) + 1);
+
skipped_pred->out = INT_TO_PTR(PTR_TO_INT(skipped_
pred->out) + 1);
}
return res;
}
}
return res;
}