https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81033

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8 Regression] Bootstrap    |[8 Regression] Revision
                   |broken on darwin            |r249019 breaks bootstrap on
                   |                            |darwin

--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
I bootstrap again if I revert revision r249019.

The following patch 

--- ../_clean/gcc/config/darwin.c       2017-01-01 17:39:06.000000000 +0100
+++ gcc/config/darwin.c 2017-06-10 17:19:31.000000000 +0200
@@ -3170,6 +3170,16 @@ darwin_override_options (void)
       flag_reorder_blocks = 1;
     }

+  /* Disable -freorder-blocks-and-partition when -fprofile-use is not in
+     effect. Function splitting was not actually being performed in that case,
+     as probably_never_executed_bb_p does not distinguish any basic blocks as
+     being cold vs hot when there is no profile data. Leaving it enabled,
+     however, causes the assembly code generator to create (empty) cold
+     sections and labels, leading to unnecessary size overhead.  */
+  if (global_options_set.x_flag_reorder_blocks_and_partition
+      && !global_options_set.x_flag_profile_use)
+    flag_reorder_blocks_and_partition = 0;
+
     /* FIXME: flag_objc_sjlj_exceptions is no longer needed since there is
only
        one valid choice of exception scheme for each runtime.  */
     if (!global_options_set.x_flag_objc_sjlj_exceptions)

fixes bootstrap.

Reply via email to