diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-01-17 18:44:18 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-01-17 18:44:18 +0000 |
commit | f8ef82ea63cb3c20dea272738484a08e9a8203fd (patch) | |
tree | b27d0de3954458d5cc09beba287314f57c3f0b27 /gcc | |
parent | 26e752144dbe4c3dcb9c4ac8be39b93beef6663e (diff) | |
download | gcc-f8ef82ea63cb3c20dea272738484a08e9a8203fd.zip gcc-f8ef82ea63cb3c20dea272738484a08e9a8203fd.tar.gz gcc-f8ef82ea63cb3c20dea272738484a08e9a8203fd.tar.bz2 |
tree-cfg.c (tree_forwarder_block_p): Speed up by walking through the statements backward.
* tree-cfg.c (tree_forwarder_block_p): Speed up by walking
through the statements backward.
From-SVN: r93768
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6777c8..fa24164 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,6 +2,9 @@ * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks. + * tree-cfg.c (tree_forwarder_block_p): Speed up by walking + through the statements backward. + 2005-01-17 Ian Lance Taylor <ian@airs.com> PR middle-end/13127: diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 14c901d..d360719 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3911,9 +3911,9 @@ tree_forwarder_block_p (basic_block bb) gcc_assert (bb != ENTRY_BLOCK_PTR); #endif - /* 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)) + /* Now walk through the statements backward. We can ignore labels, + anything else means this is not a forwarder block. */ + for (bsi = bsi_last (bb); !bsi_end_p (bsi); bsi_next (&bsi)) { tree stmt = bsi_stmt (bsi); |