aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 3e1d24d..c9d8118 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -6480,6 +6480,11 @@ pass_expand::execute (function *fun)
if (fun->eh->region_tree != NULL)
finish_eh_generation ();
+ /* BB subdivision may have created basic blocks that are are only reachable
+ from unlikely bbs but not marked as such in the profile. */
+ if (optimize)
+ propagate_unlikely_bbs_forward ();
+
/* Remove unreachable blocks, otherwise we cannot compute dominators
which are needed for loop state verification. As a side-effect
this also compacts blocks.