aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-11-23 22:38:07 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-11-23 22:38:07 +0000
commit91d9ede4ef0bd904b21dd49621f3df13be8c9254 (patch)
tree038e4ef05b151e206ff2a9f886f4e37da5257eca /gcc
parent31589ec6098edcb255d5876f22202e8b8429e745 (diff)
downloadgcc-91d9ede4ef0bd904b21dd49621f3df13be8c9254.zip
gcc-91d9ede4ef0bd904b21dd49621f3df13be8c9254.tar.gz
gcc-91d9ede4ef0bd904b21dd49621f3df13be8c9254.tar.bz2
tree-cfg.c (tree_forwarder_block_p): Speed up by reordering two checks.
* tree-cfg.c (tree_forwarder_block_p): Speed up by reordering two checks. From-SVN: r91108
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-cfg.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dbc9d4c..a16e9b6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
+ two checks.
+
2004-11-23 Zack Weinberg <zack@codesourcery.com>
* function.h (struct function): Remove calls_longjmp.
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index bcd025f..aa4ba46 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3907,9 +3907,6 @@ tree_forwarder_block_p (basic_block bb)
gcc_assert (bb != ENTRY_BLOCK_PTR);
#endif
- if (find_edge (ENTRY_BLOCK_PTR, bb))
- return false;
-
/* Now walk through the statements. We can ignore labels, anything else
means this is not a forwarder block. */
for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
@@ -3928,6 +3925,9 @@ tree_forwarder_block_p (basic_block bb)
}
}
+ if (find_edge (ENTRY_BLOCK_PTR, bb))
+ return false;
+
return true;
}