aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-10-27 18:33:26 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-10-27 18:33:26 +0000
commit0b371c72fe94d563b0f2c49288177872f04cc32a (patch)
treef3f18d5f8a5ac126ea9ba6a73f3750852fca6d94
parentaf88d4ec96defc06ac0b7ae3e5122f14ba148509 (diff)
downloadgcc-0b371c72fe94d563b0f2c49288177872f04cc32a.zip
gcc-0b371c72fe94d563b0f2c49288177872f04cc32a.tar.gz
gcc-0b371c72fe94d563b0f2c49288177872f04cc32a.tar.bz2
tree-cfg.c (thread_jumps): Speed up by reordering the two conditions for entering basic blocks into worklist.
* tree-cfg.c (thread_jumps): Speed up by reordering the two conditions for entering basic blocks into worklist. From-SVN: r89700
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-cfg.c20
2 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fcafd5f..ca2253e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
+ * tree-cfg.c (thread_jumps): Speed up by reordering the two
+ conditions for entering basic blocks into worklist.
+
+2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
+
* tree-cfg.c (thread_jumps): Speed up by pretending to have
ENTRY_BLOCK_PTR in worklist.
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 4492daa..e606749 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3974,11 +3974,11 @@ thread_jumps (void)
among BB's predecessors. */
FOR_EACH_EDGE (e, ei, bb->preds)
{
- /* We are not interested in threading jumps from a forwarder
- block. */
- if (!bb_ann (e->src)->forwardable
- /* We don't want to put a duplicate into WORKLIST. */
- && (e->src->flags & BB_VISITED) == 0)
+ /* We don't want to put a duplicate into WORKLIST. */
+ if ((e->src->flags & BB_VISITED) == 0
+ /* We are not interested in threading jumps from a forwarder
+ block. */
+ && !bb_ann (e->src)->forwardable)
{
e->src->flags |= BB_VISITED;
worklist[size] = e->src;
@@ -4013,11 +4013,11 @@ thread_jumps (void)
predecessors. */
FOR_EACH_EDGE (f, ej, bb->preds)
{
- /* We are not interested in threading jumps from a
- forwarder block. */
- if (!bb_ann (f->src)->forwardable
- /* We don't want to put a duplicate into WORKLIST. */
- && (f->src->flags & BB_VISITED) == 0)
+ /* We don't want to put a duplicate into WORKLIST. */
+ if ((f->src->flags & BB_VISITED) == 0
+ /* We are not interested in threading jumps from a
+ forwarder block. */
+ && !bb_ann (f->src)->forwardable)
{
f->src->flags |= BB_VISITED;
worklist[size] = f->src;