diff options
author | Jan Hubicka <jh@suse.cz> | 2006-09-13 00:54:38 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-09-12 22:54:38 +0000 |
commit | 26eeea9405b738fd747c588f6f502fab673050d2 (patch) | |
tree | 539135268b3928b8f2196c23e26d54188ab56f1d /gcc/cfganal.c | |
parent | 7e721950cb72349fd66661edc2d87f4d4e9895a1 (diff) | |
download | gcc-26eeea9405b738fd747c588f6f502fab673050d2.zip gcc-26eeea9405b738fd747c588f6f502fab673050d2.tar.gz gcc-26eeea9405b738fd747c588f6f502fab673050d2.tar.bz2 |
* cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
From-SVN: r116909
Diffstat (limited to 'gcc/cfganal.c')
-rw-r--r-- | gcc/cfganal.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 835703f..467c399 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, |