diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/tree-cfg.c | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a23a2d..34abac1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> + * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting + edge information when we commit ourselves to threading a + particular jump. + +2004-10-22 Kazu Hirata <kazu@cs.umass.edu> + * tree-cfg.c (thread_jumps): Speed up by putting basic blocks into worklist instead of their indexes. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 0bf7b16..bdcabf3 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3788,9 +3788,6 @@ thread_jumps_from_bb (basic_block bb) continue; } - count = e->count; - freq = EDGE_FREQUENCY (e); - /* Now walk through as many forwarder blocks as possible to find the ultimate destination we want to thread our jump to. */ last = EDGE_SUCC (e->dest, 0); @@ -3839,6 +3836,8 @@ thread_jumps_from_bb (basic_block bb) /* Perform the redirection. */ retval = true; + count = e->count; + freq = EDGE_FREQUENCY (e); old_dest = e->dest; e = redirect_edge_and_branch (e, dest); |
