diff options
author | Jeff Law <law@redhat.com> | 2005-09-26 13:40:20 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2005-09-26 13:40:20 -0600 |
commit | 608af77dc182f5ef8a440bce31713ac11d5fa8d4 (patch) | |
tree | f3564fb128036623a23d13b0cd10b43de1babe59 /gcc/tree-ssa-dom.c | |
parent | a35074775f15b85a4699fce297d7cf49af0473c1 (diff) | |
download | gcc-608af77dc182f5ef8a440bce31713ac11d5fa8d4.zip gcc-608af77dc182f5ef8a440bce31713ac11d5fa8d4.tar.gz gcc-608af77dc182f5ef8a440bce31713ac11d5fa8d4.tar.bz2 |
tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective about when to iterate.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
about when to iterate.
From-SVN: r104658
Diffstat (limited to 'gcc/tree-ssa-dom.c')
-rw-r--r-- | gcc/tree-ssa-dom.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 6d99e54..1b78b6d5 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -479,7 +479,11 @@ tree_ssa_dominator_optimize (void) if (cfg_altered) free_dominance_info (CDI_DOMINATORS); - cfg_altered = cleanup_tree_cfg (); + /* Only iterate if we threaded jumps AND the CFG cleanup did + something interesting. Other cases generate far fewer + optimization opportunities and thus are not worth another + full DOM iteration. */ + cfg_altered &= cleanup_tree_cfg (); if (rediscover_loops_after_threading) { |