diff options
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r-- | gcc/cfgbuild.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c index 601fcd44cee..f44b764c55a 100644 --- a/gcc/cfgbuild.c +++ b/gcc/cfgbuild.c @@ -271,6 +271,14 @@ 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; + /* APPLE LOCAL begin hot/cold partitioning */ + /* 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; + /* APPLE LOCAL end hot/cold partitioning */ + /* 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. */ |