]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add -flto=auto option value.
authorMartin Liska <mliska@suse.cz>
Fri, 9 Aug 2019 08:33:05 +0000 (10:33 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 9 Aug 2019 08:33:05 +0000 (08:33 +0000)
2019-08-09  Martin Liska  <mliska@suse.cz>

* doc/invoke.texi: Document the option value.
* lto-wrapper.c (run_gcc): Set auto_parallel
only with -flto=auto.
2019-08-09  Martin Liska  <mliska@suse.cz>

* g++.dg/lto/devirt-19_0.C: Add -flto=auto.

From-SVN: r274232

gcc/ChangeLog
gcc/doc/invoke.texi
gcc/lto-wrapper.c
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lto/devirt-19_0.C

index 50a2b8f49f43ddd9e8010a533083d1399ff79f61..8bc3d91816c7c59050379e3e06177859db6bbc72 100644 (file)
@@ -1,3 +1,9 @@
+2019-08-09  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document the option value.
+       * lto-wrapper.c (run_gcc): Set auto_parallel
+       only with -flto=auto.
+
 2019-08-09  Martin Liska  <mliska@suse.cz>
 
        * opts.c (common_handle_option): Error for an invalid argument
index 01aab60f8954df37e8d0ac18357126a8c4f085cb..5b6b824bdd3bab39bc2957975a6818884083e7c2 100644 (file)
@@ -10415,8 +10415,7 @@ If you specify the optional @var{n}, the optimization and code
 generation done at link time is executed in parallel using @var{n}
 parallel jobs by utilizing an installed @command{make} program.  The
 environment variable @env{MAKE} may be used to override the program
-used.  The default value for @var{n} is automatically detected based
-on number of cores.
+used.
 
 You can also specify @option{-flto=jobserver} to use GNU make's
 job server mode to determine the number of parallel jobs. This
@@ -10425,6 +10424,10 @@ You must prepend a @samp{+} to the command recipe in the parent Makefile
 for this to work.  This option likely only works if @env{MAKE} is
 GNU make.
 
+Use @option{-flto=auto} to use GNU make's job server, if available,
+or otherwise fall back to autodetection of the number of CPU threads
+present in your system.
+
 @item -flto-partition=@var{alg}
 @opindex flto-partition
 Specify the partitioning algorithm used by the link-time optimizer.
index f1253cdc91ce3c68439193b677d1c97983e08a77..84f59cf1a1f1d62aecc46b2bf2f29a8091c21235 100644 (file)
@@ -1252,8 +1252,7 @@ run_gcc (unsigned argc, char *argv[])
   char *list_option_full = NULL;
   const char *linker_output = NULL;
   const char *collect_gcc, *collect_gcc_options;
-  /* Make linking parallel by default.  */
-  int parallel = 1;
+  int parallel = 0;
   int jobserver = 0;
   int auto_parallel = 0;
   bool no_partition = false;
@@ -1380,6 +1379,11 @@ run_gcc (unsigned argc, char *argv[])
        case OPT_flto_:
          if (strcmp (option->arg, "jobserver") == 0)
            jobserver = 1;
+         else if (strcmp (option->arg, "auto") == 0)
+           {
+             parallel = 1;
+             auto_parallel = 1;
+           }
          else
            {
              parallel = atoi (option->arg);
@@ -1423,14 +1427,8 @@ run_gcc (unsigned argc, char *argv[])
       auto_parallel = 0;
       parallel = 0;
     }
-  else if (!jobserver && parallel)
-    {
-      /* If there's no explicit usage of jobserver and
-        parallel is enabled, then automatically detect
-        jobserver or number of cores.  */
-      auto_parallel = 1;
-      jobserver = jobserver_active_p ();
-    }
+  else if (!jobserver && auto_parallel)
+    jobserver = jobserver_active_p ();
 
   if (linker_output)
     {
index a0a7789344809de1d71314646031f0bdeee8b1bc..bb0d8b5e7dbc64bb20c3fb393fc0c63ab695529b 100644 (file)
@@ -2825,6 +2825,7 @@ common_handle_option (struct gcc_options *opts,
     case OPT_flto_:
       if (strcmp (arg, "none") != 0
          && strcmp (arg, "jobserver") != 0
+         && strcmp (arg, "auto") != 0
          && atoi (arg) == 0)
        error_at (loc,
                  "unrecognized argument to %<-flto=%> option: %qs", arg);
index 317b7e54e210d813005ae2d8adeaf63a21cbdbfe..58e5fe500f99f11ffa7e7770cf5a485fa133f033 100644 (file)
@@ -1,3 +1,7 @@
+2019-08-09  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/lto/devirt-19_0.C: Add -flto=auto.
+
 2019-08-09  Martin Liska  <mliska@suse.cz>
 
        * gcc.dg/spellcheck-options-21.c: New test.
index 696d8c0fc83cb55156f2e0cc98e7094e5761c073..b43527e324e564ac140d1fc0a52a624bfec36a13 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-lto-do link } */
 /* { dg-lto-options { "-O2 -fdump-ipa-cp -Wno-return-type -flto -r -nostdlib" } } */
-/* { dg-extra-ld-options "-flinker-output=nolto-rel" } */
+/* { dg-extra-ld-options "-flinker-output=nolto-rel -flto=auto" } */
 #include "../ipa/devirt-19.C"
 /* { dg-final { scan-wpa-ipa-dump-times "Discovered a virtual call to a known target" 1 "cp"  } } */