diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-dom.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4d6dd16..90efa60 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-09-26 Jeff Law <law@redhat.com> + + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective + about when to iterate. + 2005-09-23 Fariborz Jahanian <fjahanian@apple.com> PR target/23847 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) { |