diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41aa22178fb..f5ec63af82b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2006-09-13 Jan Hubicka + + * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic. + 2006-09-12 Eric Botcazou PR rtl-optimization/28243 diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 835703fe8cf..467c399c84c 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -1054,6 +1054,8 @@ compute_dominance_frontiers_1 (bitmap *frontiers) domsb = get_immediate_dominator (CDI_DOMINATORS, b); while (runner != domsb) { + if (bitmap_bit_p (frontiers[runner->index], b->index)) + break; bitmap_set_bit (frontiers[runner->index], b->index); runner = get_immediate_dominator (CDI_DOMINATORS,