diff options
author | Teresa Johnson <tejohnson@google.com> | 2013-12-19 22:11:25 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@gcc.gnu.org> | 2013-12-19 22:11:25 +0000 |
commit | b55bf1206fa45a9742109ec4ece72b7c7ed97630 (patch) | |
tree | 517409a27640bcb3a5bb2b05a50daf074779f61b /gcc | |
parent | e15eb172b0dd7451f121c908a97ab86a45759993 (diff) | |
download | gcc-b55bf1206fa45a9742109ec4ece72b7c7ed97630.zip gcc-b55bf1206fa45a9742109ec4ece72b7c7ed97630.tar.gz gcc-b55bf1206fa45a9742109ec4ece72b7c7ed97630.tar.bz2 |
re PR gcov-profile/59542 (ICE: verify_flow_info failed during Firefox build with 'gold')
2013-12-19 Teresa Johnson <tejohnson@google.com>
PR gcov-profile/59542
* bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions
if we have made any changes.
From-SVN: r206135
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/bb-reorder.c | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2cc196..32ac966 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-12-19 Teresa Johnson <tejohnson@google.com> + + PR gcov-profile/59542 + * bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions + if we have made any changes. + 2013-12-19 Jakub Jelinek <jakub@redhat.com> PR other/59545 diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 7f8ea07..7b8584f 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -2390,6 +2390,7 @@ duplicate_computed_gotos (void) basic_block bb, new_bb; bitmap candidates; int max_size; + bool changed = false; if (n_basic_blocks_for_fn (cfun) <= NUM_FIXED_BLOCKS + 1) return 0; @@ -2486,9 +2487,15 @@ duplicate_computed_gotos (void) new_bb->aux = bb->aux; bb->aux = new_bb; new_bb->flags |= BB_VISITED; + changed = true; } done: + /* Duplicating blocks above will redirect edges and may cause hot blocks + previously reached by both hot and cold blocks to become dominated only + by cold blocks. */ + if (changed) + fixup_partitions (); cfg_layout_finalize (); BITMAP_FREE (candidates); |