+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
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
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.
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;
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);
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)
{
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);
+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.
/* { 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" } } */