From b55bf1206fa45a9742109ec4ece72b7c7ed97630 Mon Sep 17 00:00:00 2001 From: Teresa Johnson Date: Thu, 19 Dec 2013 22:11:25 +0000 Subject: [PATCH] re PR gcov-profile/59542 (ICE: verify_flow_info failed during Firefox build with 'gold') 2013-12-19 Teresa Johnson PR gcov-profile/59542 * bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions if we have made any changes. From-SVN: r206135 --- gcc/ChangeLog | 6 ++++++ gcc/bb-reorder.c | 7 +++++++ 2 files changed, 13 insertions(+) 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 + + PR gcov-profile/59542 + * bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions + if we have made any changes. + 2013-12-19 Jakub Jelinek 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); -- 2.7.4