]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
common.opt (combine): Remove.
authorRichard Guenther <rguenther@suse.de>
Fri, 17 Sep 2010 09:04:14 +0000 (09:04 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 17 Sep 2010 09:04:14 +0000 (09:04 +0000)
2010-09-17  Richard Guenther  <rguenther@suse.de>

* common.opt (combine): Remove.
* gcc.c (default_compilers): Remove specs testing combine.
The C compilers no longer can combine.
(option_map): Remove -combine.
(display_help): Remove -combine.
(driver_handle_option): Remove OPT_combine handling.
(compile_input_file_p): Remove.
(do_spec): Remove code concerning combine.
(main): Likewise.
* doc/invoke.texi: Remove traces of -combine.
* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
driver.

lto/
* lang.opt (flag_wpa): Also enable for the driver.

* gcc.dg/pr27898.c: Use -flto instead of -combine.
* gcc.dg/pr28706.c: Likewise.
* gcc.dg/pr28712.c: Likewise.
* gcc.dg/pr30762-1.c: Likewise.
* gcc.dg/pr30762-2.c: Likewise.
* gcc.dg/pr31529-1.c: Likewise.
* gcc.dg/pr31529-2.c: Likewise.
* gcc.dg/pr34457-1.c: Likewise.
* gcc.dg/pr34457-2.c: Likewise.
* gcc.dg/pr34668-1.c: Likewise.
* gcc.dg/pr34668-2.c: Likewise.
* gcc.dg/pr34989-1.c: Likewise.
* gcc.dg/pr34989-2.c: Likewise.
* gcc.dg/pr43557-1.c: Likewise.
* gcc.dg/pr43557-2.c: Likewise.
* gcc.dg/debug/pr41893-1.c: Likewise.
* gcc.dg/matrix/matrix.exp: Do not use -combine.
* gcc.dg/matrix/matrix-3.c: Drop dg-options.
* gcc.dg/matrix/matrix-4.c: Likewise.
* gcc.dg/struct/struct-reorg.exp: Do not use -combine.
* gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r164357

25 files changed:
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/gcc.c
gcc/lto-wrapper.c
gcc/lto/ChangeLog
gcc/lto/lang.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/debug/pr41893-1.c
gcc/testsuite/gcc.dg/matrix/matrix-3.c
gcc/testsuite/gcc.dg/matrix/matrix-4.c
gcc/testsuite/gcc.dg/matrix/matrix.exp
gcc/testsuite/gcc.dg/pr27898.c
gcc/testsuite/gcc.dg/pr28706.c
gcc/testsuite/gcc.dg/pr28712.c
gcc/testsuite/gcc.dg/pr30762-1.c
gcc/testsuite/gcc.dg/pr31529-1.c
gcc/testsuite/gcc.dg/pr34457-1.c
gcc/testsuite/gcc.dg/pr34668-1.c
gcc/testsuite/gcc.dg/pr34989-1.c
gcc/testsuite/gcc.dg/pr43557-1.c
gcc/testsuite/gcc.dg/struct/struct-reorg.exp
gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c
gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c
gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c

index 04eeac74099ba027f56bb4e128060f3277701433..50a1a03d03d5d7c250b07a4d1d14932e7a9184f4 100644 (file)
@@ -1,3 +1,18 @@
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * common.opt (combine): Remove.
+       * gcc.c (default_compilers): Remove specs testing combine.
+       The C compilers no longer can combine.
+       (option_map): Remove -combine.
+       (display_help): Remove -combine.
+       (driver_handle_option): Remove OPT_combine handling.
+       (compile_input_file_p): Remove.
+       (do_spec): Remove code concerning combine.
+       (main): Likewise.
+       * doc/invoke.texi: Remove traces of -combine.
+       * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
+       driver.
+
 2010-09-17  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/45678
index e915ee366ccd9e6254a5f7d2fc419f22e9a6a57d..3093ea54a936032bab383114b9e66911959e25e5 100644 (file)
@@ -309,9 +309,6 @@ Common Separate RejectDriver
 auxbase-strip
 Common Separate RejectDriver
 
-combine
-Driver Var(combine_flag)
-
 c
 Driver
 
index 08d929a3e49ab1300fa03f4683afbc59c9fb5d9d..4787a904da0db799889ff4d53c52d058fa064dc2 100644 (file)
@@ -161,7 +161,7 @@ in the following sections.
 @table @emph
 @item Overall Options
 @xref{Overall Options,,Options Controlling the Kind of Output}.
-@gccoptlist{-c  -S  -E  -o @var{file}  -combine  -no-canonical-prefixes  @gol
+@gccoptlist{-c  -S  -E  -o @var{file}  -no-canonical-prefixes  @gol
 -pipe  -pass-exit-codes  @gol
 -x @var{language}  -v  -###  --help@r{[}=@var{class}@r{[},@dots{}@r{]]}  --target-help  @gol
 --version -wrapper@@@var{file} -fplugin=@var{file} -fplugin-arg-@var{name}=@var{arg}  @gol
@@ -1195,23 +1195,6 @@ various stages of compilation.  This fails to work on some systems where
 the assembler is unable to read from a pipe; but the GNU assembler has
 no trouble.
 
-@item -combine
-@opindex combine
-If you are compiling multiple source files, this option tells the driver
-to pass all the source files to the compiler at once (for those
-languages for which the compiler can handle this).  This will allow
-intermodule analysis (IMA) to be performed by the compiler.  Currently the only
-language for which this is supported is C@.  If you pass source files for
-multiple languages to the driver, using this option, the driver will invoke
-the compiler(s) that support IMA once each, passing each compiler all the
-source files appropriate for it.  For those languages that do not support
-IMA this option will be ignored, and the compiler will be invoked once for
-each source file in that language.  If you use this option in conjunction
-with @option{-save-temps}, the compiler will generate multiple
-pre-processed files
-(one for each source file), but only one (combined) @file{.o} or
-@file{.s} file.
-
 @item --help
 @opindex help
 Print (on the standard output) a description of the command line options
@@ -6757,7 +6740,7 @@ layout in order to better utilize spatial locality.  This transformation is
 affective for programs containing arrays of structures.  Available in two
 compilation modes: profile-based (enabled with @option{-fprofile-generate})
 or static (which uses built-in heuristics).  It works only in whole program
-mode, so it requires @option{-fwhole-program} and @option{-combine} to be
+mode, so it requires @option{-fwhole-program} to be
 enabled.  Structures considered @samp{cold} by this transformation are not
 affected (see @option{--param struct-reorg-cold-struct-ratio=@var{value}}).
 
@@ -7462,7 +7445,7 @@ and those merged by attribute @code{externally_visible} become static functions
 and in effect are optimized more aggressively by interprocedural optimizers. If @command{gold} is used as the linker plugin, @code{externally_visible} attributes are automatically added to functions (not variable yet due to a current @command{gold} issue) that are accessed outside of LTO objects according to resolution file produced by @command{gold}.  For other linkers that cannot generate resolution file, explicit @code{externally_visible} attributes are still necessary.
 While this option is equivalent to proper use of the @code{static} keyword for
 programs consisting of a single file, in combination with option
-@option{-combine}, @option{-flto} or @option{-fwhopr} this flag can be used to
+@option{-flto} or @option{-fwhopr} this flag can be used to
 compile many smaller scale programs since the functions and variables become
 local for the whole combined compilation unit, not for the single source file
 itself.
index 479d7daf2ffecd0257f7ed65f7cc00c44dfaf53f..b459a928e34beec4ad79adab04419d9a274aa411 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -959,7 +959,7 @@ static const struct compiler default_compilers[] =
   {".java", "#Java", 0, 0, 0}, {".class", "#Java", 0, 0, 0},
   {".zip", "#Java", 0, 0, 0}, {".jar", "#Java", 0, 0, 0},
   /* Next come the entries for C.  */
-  {".c", "@c", 0, 1, 1},
+  {".c", "@c", 0, 0, 1},
   {"@c",
    /* cc1 has an integrated ISO C preprocessor.  We should invoke the
       external preprocessor if -save-temps is given.  */
@@ -967,20 +967,13 @@ static const struct compiler default_compilers[] =
       %{!E:%{!M:%{!MM:\
           %{traditional|ftraditional:\
 %eGNU C no longer supports -traditional without -E}\
-       %{!combine:\
-         %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
-               %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
-                   cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
-                       %(cc1_options)}\
-         %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
-               cc1 %(cpp_unique_options) %(cc1_options)}}}\
-          %{!fsyntax-only:%(invoke_as)}} \
-      %{combine:\
-         %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
-               %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i}}\
-         %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
-               cc1 %(cpp_unique_options) %(cc1_options)}}\
-                %{!fsyntax-only:%(invoke_as)}}}}}}", 0, 1, 1},
+      %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+         %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
+           cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
+         %(cc1_options)}\
+      %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
+         cc1 %(cpp_unique_options) %(cc1_options)}}}\
+      %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
   {"-",
    "%{!E:%e-E or -x required when input is from standard input}\
     %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)", 0, 0, 0},
@@ -1000,7 +993,7 @@ static const struct compiler default_compilers[] =
                cc1 %(cpp_unique_options) %(cc1_options)\
                     %{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\
                     %W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0},
-  {".i", "@cpp-output", 0, 1, 0},
+  {".i", "@cpp-output", 0, 0, 0},
   {"@cpp-output",
    "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0},
   {".s", "@assembler", 0, 1, 0},
@@ -1078,7 +1071,6 @@ static const struct option_map option_map[] =
    {"--classpath", "-fclasspath=", "aj"},
    {"--bootclasspath", "-fbootclasspath=", "aj"},
    {"--CLASSPATH", "-fclasspath=", "aj"},
-   {"--combine", "-combine", 0},
    {"--comments", "-C", 0},
    {"--comments-in-macros", "-CC", 0},
    {"--compile", "-c", 0},
@@ -3322,7 +3314,6 @@ display_help (void)
   fputs (_("  -Xassembler <arg>        Pass <arg> on to the assembler\n"), stdout);
   fputs (_("  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor\n"), stdout);
   fputs (_("  -Xlinker <arg>           Pass <arg> on to the linker\n"), stdout);
-  fputs (_("  -combine                 Pass multiple source files to compiler at once\n"), stdout);
   fputs (_("  -save-temps              Do not delete intermediate files\n"), stdout);
   fputs (_("  -save-temps=<arg>        Do not delete intermediate files\n"), stdout);
   fputs (_("\
@@ -3761,8 +3752,6 @@ driver_handle_option (const struct cl_decoded_option *decoded,
 
     case OPT_pipe:
       validated = true;
-      /* Fall through.  */
-    case OPT_combine:
       /* These options set the variables specified in common.opt
         automatically, but do need to be saved for spec
         processing.  */
@@ -7003,10 +6992,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
 
   explicit_link_files = XCNEWVEC (char, n_infiles);
 
-  if (combine_flag)
-    combine_inputs = true;
-  else
-    combine_inputs = false;
+  combine_inputs = have_o || flag_wpa;
 
   for (i = 0; (int) i < n_infiles; i++)
     {
@@ -7039,63 +7025,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
     }
 
   if (!combine_inputs && have_c && have_o && lang_n_infiles > 1)
-   fatal_error ("cannot specify -o with -c, -S or -E with multiple files");
-
-  if (combine_flag && save_temps_flag)
-    {
-      bool save_combine_inputs = combine_inputs;
-      /* Must do a separate pre-processing pass for C & Objective-C files, to
-        obtain individual .i files.  */
-
-      combine_inputs = false;
-      for (i = 0; (int) i < n_infiles; i++)
-       {
-         int this_file_error = 0;
-
-         input_file_number = i;
-         set_input (infiles[i].name);
-         if (infiles[i].incompiler
-             && (infiles[i].incompiler)->needs_preprocessing)
-           input_file_compiler = infiles[i].incompiler;
-         else
-           continue;
-
-         if (input_file_compiler)
-           {
-             if (input_file_compiler->spec[0] == '#')
-               {
-                 error ("%s: %s compiler not installed on this system",
-                        gcc_input_filename, &input_file_compiler->spec[1]);
-                 this_file_error = 1;
-               }
-             else
-               {
-                 value = do_spec (input_file_compiler->spec);
-                 infiles[i].preprocessed = true;
-                 if (!have_o_argbuf_index)
-                   fatal_error ("spec %qs is invalid",
-                                input_file_compiler->spec);
-                 infiles[i].name = argbuf[have_o_argbuf_index];
-                 infiles[i].incompiler
-                   = lookup_compiler (infiles[i].name,
-                                      strlen (infiles[i].name),
-                                      infiles[i].language);
-
-                 if (value < 0)
-                   this_file_error = 1;
-               }
-           }
-
-         if (this_file_error)
-           {
-             delete_failure_queue ();
-             errorcount++;
-             break;
-           }
-         clear_failure_queue ();
-       }
-      combine_inputs = save_combine_inputs;
-    }
+    fatal_error ("cannot specify -o with -c, -S or -E with multiple files");
 
   for (i = 0; (int) i < n_infiles; i++)
     {
@@ -7115,12 +7045,9 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
 
       /* Figure out which compiler from the file's suffix.  */
 
-      if (! combine_inputs)
-       input_file_compiler
-         = lookup_compiler (infiles[i].name, input_filename_length,
-                            infiles[i].language);
-      else
-       input_file_compiler = infiles[i].incompiler;
+      input_file_compiler
+       = lookup_compiler (infiles[i].name, input_filename_length,
+                          infiles[i].language);
 
       if (input_file_compiler)
        {
index 0ef8b8729aef3a2abb83891cff63e7ef68312111..540101773ef23c1fc232379470901f2d3817bf50 100644 (file)
@@ -423,7 +423,6 @@ run_gcc (unsigned argc, char *argv[])
        argv_ptr[0] = linker_output;
       argv_ptr[1] = "-o";
       argv_ptr[2] = flto_out;
-      argv_ptr[3] = "-combine";
     }
   else if (lto_mode == LTO_MODE_WHOPR)
     {
@@ -459,15 +458,14 @@ run_gcc (unsigned argc, char *argv[])
       strcpy (tmp, ltrans_output_file);
 
       argv_ptr[2] = "-fwpa";
-      argv_ptr[3] = "-combine";
     }
   else
     fatal ("invalid LTO mode");
 
   /* Append the input objects and possible preceeding arguments.  */
   for (i = 1; i < argc; ++i)
-    argv_ptr[3 + i] = argv[i];
-  argv_ptr[3 + i] = NULL;
+    argv_ptr[2 + i] = argv[i];
+  argv_ptr[2 + i] = NULL;
 
   fork_execute (CONST_CAST (char **, new_argv));
 
index a8f7bc13176876ae77c8b7bda836e4affc12d8a3..3b229bce8b803cdf488df897d0a2a0a6d7921927 100644 (file)
@@ -1,3 +1,7 @@
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * lang.opt (flag_wpa): Also enable for the driver.
+
 2010-09-16  Jan Hubicka  <jh@suse.cz>
 
        * lto.c (lto_materialize_function): Do not tamper with STATIC and
index 53ab8e808309323fb4bf973caf0ed7e5a76797f5..199adeaf4e0c7ea777b28ec67114a031a76c54bf 100644 (file)
@@ -33,7 +33,7 @@ LTO Joined Var(ltrans_output_list)
 Specify a file to which a list of files output by LTRANS is written.
 
 fwpa
-LTO Report Var(flag_wpa) Optimization
+LTO Driver Report Var(flag_wpa) Optimization
 Run the link-time optimizer in whole program analysis (WPA) mode.
 
 fresolution=
index 96955e0440c193b3e87a2370cd04b72032f71692..b4bfbe4abec809f92d937f9c361199d9321df182 100644 (file)
@@ -1,3 +1,29 @@
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * gcc.dg/pr27898.c: Use -flto instead of -combine.
+       * gcc.dg/pr28706.c: Likewise.
+       * gcc.dg/pr28712.c: Likewise.
+       * gcc.dg/pr30762-1.c: Likewise.
+       * gcc.dg/pr30762-2.c: Likewise.
+       * gcc.dg/pr31529-1.c: Likewise.
+       * gcc.dg/pr31529-2.c: Likewise.
+       * gcc.dg/pr34457-1.c: Likewise.
+       * gcc.dg/pr34457-2.c: Likewise.
+       * gcc.dg/pr34668-1.c: Likewise.
+       * gcc.dg/pr34668-2.c: Likewise.
+       * gcc.dg/pr34989-1.c: Likewise.
+       * gcc.dg/pr34989-2.c: Likewise.
+       * gcc.dg/pr43557-1.c: Likewise.
+       * gcc.dg/pr43557-2.c: Likewise.
+       * gcc.dg/debug/pr41893-1.c: Likewise.
+       * gcc.dg/matrix/matrix.exp: Do not use -combine.
+       * gcc.dg/matrix/matrix-3.c: Drop dg-options.
+       * gcc.dg/matrix/matrix-4.c: Likewise.
+       * gcc.dg/struct/struct-reorg.exp: Do not use -combine.
+       * gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
+       * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
+       * gcc.dg/struct/wo_prof_escape_return.c: Likewise.
+
 2010-09-16  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/43665
index 54a31fb6f2f29aaeaf45930a0683ebc1fc35c967..fbd744545f7966631917f3585acd4a2c30d3331b 100644 (file)
@@ -1,6 +1,7 @@
 /* PR debug/41893 */
-/* { dg-do compile } */
-/* { dg-options "-combine -fwhole-program -O" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -fwhole-program -O -r -nostdlib" } */
 /* { dg-additional-sources "pr41893-2.c" } */
 
 struct S { int v; };
index 5990abf48a6c634e562a29d1fcdf441d09280380..28a5a16b7e0e58f2f11567838c2554be23989ae7 100644 (file)
@@ -1,6 +1,4 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -c -fwhole-program -combine"  } */
-
 
 #include <stdio.h>
 #include <stdlib.h>
index 7ca79ec4b5a532542b5ffae8fa07deb81213f5ab..d741b46e41616a526680b802cd3866eda03a02c5 100644 (file)
@@ -1,6 +1,4 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -c -fwhole-program -combine"  } */
-
 
 #include <stdio.h>
 #include <stdlib.h>
index b2f4ede944877ec99e00bd5741383fb135f8088e..fc1eb4138bfcf5fdad10b8506533e93ac77961eb 100644 (file)
@@ -19,7 +19,7 @@
 load_lib gcc-dg.exp
 load_lib target-supports.exp
 
-set DEFAULT_MATCFLAGS "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -fwhole-program -combine"
+set DEFAULT_MATCFLAGS "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -fwhole-program"
 
 # Initialize `dg'.
 dg-init
@@ -52,7 +52,7 @@ load_lib profopt.exp
 # needed to generate profile data, the second is options to use the
 # profile data.
 set profile_option "-fprofile-generate -O3"
-set feedback_option "-fprofile-use -fipa-matrix-reorg -fdump-ipa-matrix-reorg -O3 -fwhole-program -combine"
+set feedback_option "-fprofile-use -fipa-matrix-reorg -fdump-ipa-matrix-reorg -O3 -fwhole-program"
 
 foreach src [lsort [glob -nocomplain $srcdir/$subdir/transpose-*.c]] {
     # If we're only testing specific files and this isn't one of them, skip it.
index bb7cce175506325c801ed51472f7129c64065b6c..e4160ca182eaee6243865fe5eaebee6512253a6a 100644 (file)
@@ -1,6 +1,7 @@
 /* PR c/27898 */
-/* { dg-do compile } */
-/* { dg-options "--combine" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib" } */
 /* { dg-additional-sources "pr27898.c" } */
 
 union u { struct { int i; }; };
index 4c185af41237efe14b1045ce53f21270ec7c4d7b..9d6f1eb53d8f3a2de88f8043b0c57190e8535058 100644 (file)
@@ -1,6 +1,7 @@
 /* PR c/28706 */
-/* { dg-do compile } */
-/* { dg-options "--combine" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib" } */
 /* { dg-additional-sources "pr28706.c" } */
 
 struct A
index 0bbb45314cf1e611a0b1a5651d2db2c1a57ef7b0..1578577135cef9871a6371f3057ee052c180a39b 100644 (file)
@@ -1,6 +1,7 @@
 /* PR c/28712 */
-/* { dg-do compile } */
-/* { dg-options "--combine" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib" } */
 /* { dg-additional-sources "pr28712.c pr28712.c" } */
 
 struct A;
index 97dca8c020e5e559143125cebf2fa89e7e9e1e62..df93d73513b2bc1d05b2a26f520ada3cad067b79 100644 (file)
@@ -1,6 +1,7 @@
 /* PR c/30762 */
-/* { dg-do compile } */
-/* { dg-options "--combine -O3" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib -O3" } */
 /* { dg-additional-sources pr30762-2.c } */
 
 typedef struct { int i; } D;
index 20703ed25380a329d99fb0836a45d2af067553d9..4585b649efb9632e11ff27a74a9cca6f1aa45431 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do compile } */
-/* { dg-options "-combine" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib" } */
 /* { dg-additional-sources "pr31529-2.c" } */
 
 getline ()
index ccd937c6b528857378bcf47fee27bf17e4402bf3..1b4c316130e26d13cc0ec2c262d8c751bc42076c 100644 (file)
@@ -1,7 +1,8 @@
 /* PR c/34457 */
-/* { dg-do compile } */
+/* { dg-do link } */
 /* { dg-require-effective-target trampolines } */
-/* { dg-options "--combine -O2" } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib -O2" } */
 /* { dg-additional-sources "pr34457-2.c" } */
    
 
index 5763bb61027ede02b9d3c825fb3b13577df7afc8..11c66913c6cbc0a5b5df0e289c3da1be57bee639 100644 (file)
@@ -1,6 +1,7 @@
 /* PR c/34668 */
-/* { dg-do compile } */
-/* { dg-options "--combine -O2" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib -O2" } */
 /* { dg-additional-sources "pr34668-2.c" } */
 
 struct optab { unsigned code; };
index 88e8d64c64e4ea0477ea40f6a46ffb75b988f0b8..cd45c83e6f7e51890d191eaef3bd37b7753b6245 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do compile } */
-/* { dg-options "--combine -O2" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib -O2" } */
 /* { dg-additional-sources "pr34989-2.c" } */
 
 extern struct globals *const ptr_to_globals;
index 8c7d0b4176eb335d4b43153c4b3d10d22c133143..466e89aebcbb72c8b0412afaf794ac30d922808e 100644 (file)
@@ -1,6 +1,7 @@
 /* PR debug/43557 */
-/* { dg-do compile } */
-/* { dg-options "--combine -g -O2" } */
+/* { dg-do link } */
+/* { dg-require-effective-target-lto } */
+/* { dg-options "-flto -r -nostdlib -g -O2" } */
 /* { dg-additional-sources "pr43557-2.c" } */
 
 struct S
index c96501c29804ad83f43d7ad2cccdf6f201d28a77..34ec94ee29be9d508fbc29d0eaf71f5d3e775c54 100644 (file)
@@ -20,7 +20,7 @@
 load_lib gcc-dg.exp
 load_lib target-supports.exp
 
-set STRUCT_REORG_CFLAGS "-O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program -combine"
+set STRUCT_REORG_CFLAGS "-O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program"
 
 # Initialize `dg'.
 dg-init
@@ -51,7 +51,7 @@ load_lib profopt.exp
 # These are globals used by profopt-execute.  The first is options
 # needed to generate profile data, the second is options to use the
 # profile data.
-set common "-O3 -fwhole-program -combine"
+set common "-O3 -fwhole-program"
 set profile_option [concat $common " -fprofile-generate"]
 set feedback_option [concat $common " -fprofile-use -fipa-struct-reorg -fdump-ipa-all"]
 
index 58411202767a8c718641828716e62adac55072b2..09668face34d18c063911c1da8567dd9e60a0338 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O3 -fno-inline -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
-/* { dg-do compile } */
 /* { dg-do run } */
 
 #include <stdlib.h>
index 781a847f9f735908a271ba9f63fe1e3c9fda77ed..0116d819800c32fdc64a7b57eec581d48ac17d66 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O3 -fno-inline -fno-ipa-sra -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
-/* { dg-do compile } */
 /* { dg-do run } */
 
 #include <stdlib.h>
index 8892fa99098ef52b2b0b841bf49b3e61ea16f2c1..21a6a7f3a2e04a8cd6fd295fc1ad9896a73e0702 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O3 -fno-inline -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
-/* { dg-do compile } */
 /* { dg-do run } */
 
 #include <stdlib.h>