summaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 8fcee25073b..cd936a27b9d 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -271,6 +271,12 @@ make_edges (rtx label_value_list, basic_block min, basic_block max, int update_p
/* Assume no computed jump; revise as we create edges. */
current_function_has_computed_jump = 0;
+ /* If we are partitioning hot and cold basic blocks into separate
+ sections, we cannot assume there is no computed jump. */
+
+ if (flag_reorder_blocks_and_partition)
+ current_function_has_computed_jump = 1;
+
/* Heavy use of computed goto in machine-generated code can lead to
nearly fully-connected CFGs. In that case we spend a significant
amount of time searching the edge lists for duplicates. */