handle dumpbase in offloading, adjust testsuite
authorAlexandre Oliva <oliva@adacore.com>
Tue, 23 Jun 2020 09:31:18 +0000 (06:31 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Tue, 23 Jun 2020 09:31:18 +0000 (06:31 -0300)
Pass dumpbase on to mkoffloads and their offload-target compiler runs,
using different suffixes for different offloading targets.
Obey -save-temps in naming temporary files while at that.

Adjust the testsuite offload dump scanning machinery to look for dump
files named under the new conventions, iterating internally over all
configured offload targets, or recognizing libgomp's testsuite's own
iteration.

for  gcc/ChangeLog

* collect-utils.h (dumppfx): New.
* collect-utils.c (dumppfx): Likewise.
* lto-wrapper.c (run_gcc): Set global dumppfx.
(compile_offload_image): Pass a -dumpbase on to mkoffload.
* config/nvptx/mkoffload.c (ptx_dumpbase): New.
(main): Handle incoming -dumpbase.  Set ptx_dumpbase.  Obey
save_temps.
(compile_native): Pass -dumpbase et al to compiler.
* config/gcn/mkoffload.c (gcn_dumpbase): New.
(main): Handle incoming -dumpbase.  Set gcn_dumpbase.  Obey
save_temps.  Pass -dumpbase et al to offload target compiler.
(compile_native): Pass -dumpbase et al to compiler.

for  gcc/testsuite/ChangeLog

* lib/scanoffload.exp: New.
* lib/scanoffloadrtl.exp: Load it.  Replace ".o" with ""
globally, and use scanoffload's scoff wrapper to fill it in.
* lib/scanoffloadtree.exp: Likewise.

for libgomp/ChangeLog

* testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
* testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.

gcc/collect-utils.c
gcc/collect-utils.h
gcc/config/gcn/mkoffload.c
gcc/config/nvptx/mkoffload.c
gcc/lto-wrapper.c
gcc/testsuite/lib/scanoffload.exp [new file with mode: 0644]
gcc/testsuite/lib/scanoffloadrtl.exp
gcc/testsuite/lib/scanoffloadtree.exp
libgomp/testsuite/lib/libgomp-dg.exp
libgomp/testsuite/lib/libgomp.exp

index e85843bc86255dfc814c2bea19171e23d426a4b5..d4fa2c3d345c905a67b93f21d50349e566fd6426 100644 (file)
@@ -34,6 +34,7 @@ static char *response_file;
 bool debug;
 bool verbose;
 bool save_temps;
+const char *dumppfx;
 
 
 /* Notify user of a non-error.  */
index e7c955f219cea010eca1fa0b0d0031c1b293adcb..6ff7d9d96df715eb3b050e7a5aaf186bb5f477d8 100644 (file)
@@ -37,6 +37,7 @@ extern void utils_cleanup (bool);
 extern bool debug;
 extern bool verbose;
 extern bool save_temps;
+extern const char *dumppfx;
 
 /* Provided by the tool itself.  */
 
index 4a99d70e312e2666c5838dd203ab4988b95321ea..14f422e5c6d60b38a1ac76d36b12b4beaac44fc5 100644 (file)
@@ -41,6 +41,7 @@ static const char *gcn_s1_name;
 static const char *gcn_s2_name;
 static const char *gcn_o_name;
 static const char *gcn_cfile_name;
+static const char *gcn_dumpbase;
 
 enum offload_abi offload_abi = OFFLOAD_ABI_UNSET;
 
@@ -496,6 +497,12 @@ compile_native (const char *infile, const char *outfile, const char *compiler)
     obstack_ptr_grow (&argv_obstack, "-save-temps");
   if (verbose)
     obstack_ptr_grow (&argv_obstack, "-v");
+  obstack_ptr_grow (&argv_obstack, "-dumpdir");
+  obstack_ptr_grow (&argv_obstack, "");
+  obstack_ptr_grow (&argv_obstack, "-dumpbase");
+  obstack_ptr_grow (&argv_obstack, gcn_dumpbase);
+  obstack_ptr_grow (&argv_obstack, "-dumpbase-ext");
+  obstack_ptr_grow (&argv_obstack, ".c");
   switch (offload_abi)
     {
     case OFFLOAD_ABI_LP64:
@@ -611,6 +618,9 @@ main (int argc, char **argv)
        save_temps = true;
       else if (strcmp (argv[i], "-v") == 0)
        verbose = true;
+      else if (strcmp (argv[i], "-dumpbase") == 0
+              && i + 1 < argc)
+       dumppfx = argv[++i];
     }
   if (!(fopenacc ^ fopenmp))
     fatal_error (input_location, "either -fopenacc or -fopenmp must be set");
@@ -628,11 +638,6 @@ main (int argc, char **argv)
       gcc_unreachable ();
     }
 
-  gcn_s1_name = make_temp_file (".mkoffload.1.s");
-  gcn_s2_name = make_temp_file (".mkoffload.2.s");
-  gcn_o_name = make_temp_file (".mkoffload.hsaco");
-  gcn_cfile_name = make_temp_file (".c");
-
   /* Build arguments for compiler pass.  */
   struct obstack cc_argv_obstack;
   obstack_init (&cc_argv_obstack);
@@ -656,6 +661,35 @@ main (int argc, char **argv)
        obstack_ptr_grow (&cc_argv_obstack, argv[ix]);
     }
 
+  if (!dumppfx)
+    dumppfx = outname;
+
+  const char *mko_dumpbase = concat (dumppfx, ".mkoffload", NULL);
+  const char *hsaco_dumpbase = concat (dumppfx, ".mkoffload.hsaco", NULL);
+  gcn_dumpbase = concat (dumppfx, ".c", NULL);
+
+  if (save_temps)
+    {
+      gcn_s1_name = concat (mko_dumpbase, ".1.s", NULL);
+      gcn_s2_name = concat (mko_dumpbase, ".2.s", NULL);
+      gcn_o_name = hsaco_dumpbase;
+      gcn_cfile_name = gcn_dumpbase;
+    }
+  else
+    {
+      gcn_s1_name = make_temp_file (".mkoffload.1.s");
+      gcn_s2_name = make_temp_file (".mkoffload.2.s");
+      gcn_o_name = make_temp_file (".mkoffload.hsaco");
+      gcn_cfile_name = make_temp_file (".c");
+    }
+
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpdir");
+  obstack_ptr_grow (&cc_argv_obstack, "");
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpbase");
+  obstack_ptr_grow (&cc_argv_obstack, mko_dumpbase);
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpbase-ext");
+  obstack_ptr_grow (&cc_argv_obstack, "");
+
   obstack_ptr_grow (&cc_argv_obstack, "-o");
   obstack_ptr_grow (&cc_argv_obstack, gcn_s1_name);
   obstack_ptr_grow (&cc_argv_obstack, NULL);
@@ -674,6 +708,13 @@ main (int argc, char **argv)
        || strncmp (argv[i], "-march", 6) == 0)
       obstack_ptr_grow (&ld_argv_obstack, argv[i]);
 
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpdir");
+  obstack_ptr_grow (&cc_argv_obstack, "");
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpbase");
+  obstack_ptr_grow (&cc_argv_obstack, hsaco_dumpbase);
+  obstack_ptr_grow (&cc_argv_obstack, "-dumpbase-ext");
+  obstack_ptr_grow (&cc_argv_obstack, "");
+
   obstack_ptr_grow (&ld_argv_obstack, "-o");
   obstack_ptr_grow (&ld_argv_obstack, gcn_o_name);
   obstack_ptr_grow (&ld_argv_obstack, NULL);
index 803b58513382e15268e273e2edb34b7abc3cb4dd..efdf9b9980dbd0aaeaa64104d11a1aa0c7bfbe74 100644 (file)
@@ -55,6 +55,7 @@ static id_map *var_ids, **vars_tail = &var_ids;
 /* Files to unlink.  */
 static const char *ptx_name;
 static const char *ptx_cfile_name;
+static const char *ptx_dumpbase;
 
 enum offload_abi offload_abi = OFFLOAD_ABI_UNSET;
 
@@ -369,6 +370,12 @@ compile_native (const char *infile, const char *outfile, const char *compiler)
     obstack_ptr_grow (&argv_obstack, "-save-temps");
   if (verbose)
     obstack_ptr_grow (&argv_obstack, "-v");
+  obstack_ptr_grow (&argv_obstack, "-dumpdir");
+  obstack_ptr_grow (&argv_obstack, "");
+  obstack_ptr_grow (&argv_obstack, "-dumpbase");
+  obstack_ptr_grow (&argv_obstack, ptx_dumpbase);
+  obstack_ptr_grow (&argv_obstack, "-dumpbase-ext");
+  obstack_ptr_grow (&argv_obstack, ".c");
   switch (offload_abi)
     {
     case OFFLOAD_ABI_LP64:
@@ -486,6 +493,9 @@ main (int argc, char **argv)
        save_temps = true;
       else if (strcmp (argv[i], "-v") == 0)
        verbose = true;
+      else if (strcmp (argv[i], "-dumpbase") == 0
+              && i + 1 < argc)
+       dumppfx = argv[++i];
     }
   if (!(fopenacc ^ fopenmp))
     fatal_error (input_location, "either %<-fopenacc%> or %<-fopenmp%> "
@@ -521,7 +531,14 @@ main (int argc, char **argv)
        obstack_ptr_grow (&argv_obstack, argv[ix]);
     }
 
-  ptx_cfile_name = make_temp_file (".c");
+  if (!dumppfx)
+    dumppfx = outname;
+
+  ptx_dumpbase = concat (dumppfx, ".c", NULL);
+  if (save_temps)
+    ptx_cfile_name = ptx_dumpbase;
+  else
+    ptx_cfile_name = make_temp_file (".c");
 
   out = fopen (ptx_cfile_name, "w");
   if (!out)
@@ -531,7 +548,17 @@ main (int argc, char **argv)
      configurations.  */
   if (offload_abi == OFFLOAD_ABI_LP64)
     {
-      ptx_name = make_temp_file (".mkoffload");
+      char *mko_dumpbase = concat (dumppfx, ".mkoffload", NULL);
+      if (save_temps)
+       ptx_name = mko_dumpbase;
+      else
+       ptx_name = make_temp_file (".mkoffload");
+      obstack_ptr_grow (&argv_obstack, "-dumpdir");
+      obstack_ptr_grow (&argv_obstack, "");
+      obstack_ptr_grow (&argv_obstack, "-dumpbase");
+      obstack_ptr_grow (&argv_obstack, mko_dumpbase);
+      obstack_ptr_grow (&argv_obstack, "-dumpbase-ext");
+      obstack_ptr_grow (&argv_obstack, "");
       obstack_ptr_grow (&argv_obstack, "-o");
       obstack_ptr_grow (&argv_obstack, ptx_name);
       obstack_ptr_grow (&argv_obstack, NULL);
index 8fbca7cabc4e8b90a3599583c20f916988c1f2f5..939a83ac73a4e8238395b60f0bcdca88c78a8aeb 100644 (file)
@@ -830,6 +830,7 @@ compile_offload_image (const char *target, const char *compiler_path,
                       unsigned int linker_opt_count)
 {
   char *filename = NULL;
+  char *dumpbase;
   char **argv;
   char *suffix
     = XALLOCAVEC (char, sizeof ("/accel//mkoffload") + strlen (target));
@@ -853,8 +854,13 @@ compile_offload_image (const char *target, const char *compiler_path,
                 "could not find %s in %s (consider using %<-B%>)",
                 suffix + 1, compiler_path);
 
+  dumpbase = concat (dumppfx, "x", target, NULL);
+
   /* Generate temporary output file name.  */
-  filename = make_temp_file (".target.o");
+  if (save_temps)
+    filename = concat (dumpbase, ".o", NULL);
+  else
+    filename = make_temp_file (".target.o");
 
   struct obstack argv_obstack;
   obstack_init (&argv_obstack);
@@ -875,6 +881,9 @@ compile_offload_image (const char *target, const char *compiler_path,
                           compiler_opt_count);
   append_diag_options (&argv_obstack, linker_opts, linker_opt_count);
 
+  obstack_ptr_grow (&argv_obstack, "-dumpbase");
+  obstack_ptr_grow (&argv_obstack, dumpbase);
+
   /* Append options specified by -foffload last.  In case of conflicting
      options we expect offload compiler to choose the latest.  */
   append_offload_options (&argv_obstack, target, compiler_opts,
@@ -1298,7 +1307,7 @@ run_gcc (unsigned argc, char *argv[])
   bool linker_output_rel = false;
   bool skip_debug = false;
   unsigned n_debugobj;
-  const char *dumppfx = NULL, *incoming_dumppfx = NULL;
+  const char *incoming_dumppfx = dumppfx = NULL;
   static char current_dir[] = { '.', DIR_SEPARATOR, '\0' };
 
   /* Get the driver and options.  */
diff --git a/gcc/testsuite/lib/scanoffload.exp b/gcc/testsuite/lib/scanoffload.exp
new file mode 100644 (file)
index 0000000..ec0d7a6
--- /dev/null
@@ -0,0 +1,45 @@
+#   Copyright (C) 2020 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+# Utility for scanning offloading dump output, used by libgomp.exp.
+
+# Format an offload dump suffix given the offload target name in
+# OFFTGT and any suffix, probably empty, in SUFFIX.
+proc scoff-format { offtgt suffix } {
+    return ".x$offtgt.mkoffload$suffix"
+}
+
+# Wrapper for scan procs.
+# Argument 0 is the index of the argument to replace when calling
+# argument 1 with the remaining arguments.  Use end-1 or end or so.
+proc scoff { args } {
+    set idx [lindex $args 0]
+    set prc [lindex $args 1]
+    set args [lreplace $args 0 1]
+
+    global offload_target
+    if [info exists offload_target] {
+       set target $offload_target
+       if { "$target" != "disable" } {
+           eval $prc [lreplace $args $idx $idx "[scoff-format $target [lindex $args $idx]]"]
+       }
+    } else {
+       global offload_targets
+       foreach target [split $offload_targets ","] {
+           eval $prc [lreplace $args $idx $idx "[scoff-format $target [lindex $args $idx]]"]
+       }
+    }
+}
index 69e4e7c843cec715c0aeed80bfc849ffb0731dd1..be457f7b09f98c01eceaae38f0516533cf6a4dc1 100644 (file)
@@ -18,6 +18,7 @@
 # libgomp.exp.
 
 load_lib scandump.exp
+load_lib scanoffload.exp
 
 # Utility for scanning compiler result, invoked via dg-final.
 # Call pass if pattern is present, otherwise fail.
@@ -36,12 +37,12 @@ proc scan-offload-rtl-dump { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump "offload-rtl" [lindex $args 0] \
-                 "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o" \
-                 [lindex $args 2]
+       scoff end-1 scan-dump "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump "offload-rtl" [lindex $args 0] \
-                 "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o"
+       scoff end scan-dump "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ""
     }
 }
 
@@ -61,12 +62,12 @@ proc scan-offload-rtl-dump-times { args } {
        return
     }
     if { [llength $args] >= 4 } {
-       scan-dump-times "offload-rtl" [lindex $args 0] [lindex $args 1] \
-                       "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 2]" ".o" \
+       scoff end-1 scan-dump-times "offload-rtl" [lindex $args 0] \
+           [lindex $args 1] "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 2]" "" \
                        [lindex $args 3]
     } else {
-       scan-dump-times "offload-rtl" [lindex $args 0] [lindex $args 1] \
-                       "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 2]" ".o"
+       scoff end scan-dump-times "offload-rtl" [lindex $args 0] \
+           [lindex $args 1] "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 2]" ""
     }
 }
 
@@ -86,12 +87,12 @@ proc scan-offload-rtl-dump-not { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-not "offload-rtl" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o" \
-                     [lindex $args 2]
+       scoff end-1 scan-dump-not "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-not "offload-rtl" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o"
+       scoff end scan-dump-not "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ""
     }
 }
 
@@ -112,12 +113,12 @@ proc scan-offload-rtl-dump-dem { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-dem "offload-rtl" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o" \
-                     [lindex $args 2]
+       scoff end-1 scan-dump-dem "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-dem "offload-rtl" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o"
+       scoff end scan-dump-dem "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ""
     }
 }
 
@@ -137,11 +138,11 @@ proc scan-offload-rtl-dump-dem-not { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-dem-not "offload-rtl" [lindex $args 0] \
-                         "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o" \
-                         [lindex $args 2]
+       scoff end-1 scan-dump-dem-not "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-dem-not "offload-rtl" [lindex $args 0] \
-                         "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ".o"
+       scoff end scan-dump-dem-not "offload-rtl" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]r.[lindex $args 1]" ""
     }
 }
index 76a28d036a885fd7c96775379ffa04035b6d67a2..e51085cb47e82622b818dd81acbeedae6db97616 100644 (file)
@@ -18,6 +18,7 @@
 # libgomp.exp.
 
 load_lib scandump.exp
+load_lib scanoffload.exp
 
 # Utility for scanning compiler result, invoked via dg-final.
 # Call pass if pattern is present, otherwise fail.
@@ -36,12 +37,12 @@ proc scan-offload-tree-dump { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump "offload-tree" [lindex $args 0] \
-                 "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o" \
-                 [lindex $args 2]
+       scoff end-1 scan-dump "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump "offload-tree" [lindex $args 0] \
-                 "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o"
+       scoff end scan-dump "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ""
     }
 }
 
@@ -61,12 +62,12 @@ proc scan-offload-tree-dump-times { args } {
        return
     }
     if { [llength $args] >= 4 } {
-       scan-dump-times "offload-tree" [lindex $args 0] [lindex $args 1] \
-                       "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 2]" ".o" \
-                       [lindex $args 3]
+       scoff end-1 scan-dump-times "offload-tree" [lindex $args 0] \
+           [lindex $args 1] "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 2]" "" \
+           [lindex $args 3]
     } else {
-       scan-dump-times "offload-tree" [lindex $args 0] [lindex $args 1] \
-                       "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 2]" ".o"
+       scoff end scan-dump-times "offload-tree" [lindex $args 0] \
+           [lindex $args 1] "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 2]" ""
     }
 }
 
@@ -86,12 +87,12 @@ proc scan-offload-tree-dump-not { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-not "offload-tree" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o" \
-                     [lindex $args 2]
+       scoff end-1 scan-dump-not "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-not "offload-tree" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o"
+       scoff end scan-dump-not "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ""
     }
 }
 
@@ -112,12 +113,12 @@ proc scan-offload-tree-dump-dem { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-dem "offload-tree" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o" \
-                     [lindex $args 2]
+       scoff end-1 scan-dump-dem "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-dem "offload-tree" [lindex $args 0] \
-                     "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o"
+       scoff end scan-dump-dem "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ""
     }
 }
 
@@ -137,11 +138,11 @@ proc scan-offload-tree-dump-dem-not { args } {
        return
     }
     if { [llength $args] >= 3 } {
-       scan-dump-dem-not "offload-tree" [lindex $args 0] \
-                         "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o" \
-                         [lindex $args 2]
+       scoff end-1 scan-dump-dem-not "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" "" \
+           [lindex $args 2]
     } else {
-       scan-dump-dem-not "offload-tree" [lindex $args 0] \
-                         "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ".o"
+       scoff end scan-dump-dem-not "offload-tree" [lindex $args 0] \
+           "\[0-9\]\[0-9\]\[0-9]t.[lindex $args 1]" ""
     }
 }
index 726b924d67f3d26d97b4dfe4b4b34290564360ed..ebf78e17e6d8db2ca4c1697dcf468c209b2aaeee 100644 (file)
@@ -1,12 +1,4 @@
 proc libgomp-dg-test { prog do_what extra_tool_flags } {
-    # Force the dumpbase for test.c to test.o, such that scan-offload-*-dump
-    # will work.
-    foreach opt $extra_tool_flags {
-       if { [regexp ^-foffload=-fdump- $opt] } {
-           lappend extra_tool_flags "-save-temps"
-       }
-    }
-
     return [gcc-dg-test-1 libgomp_target_compile $prog $do_what $extra_tool_flags]
 }
 
index ee5f0e57b19038021f4efdc26ffd24ad9843337a..8ccb78f42c1d1cc68d1fff4cb6606b2c8b649834 100644 (file)
@@ -30,6 +30,7 @@ load_gcc_lib scanlang.exp
 load_gcc_lib scanrtl.exp
 load_gcc_lib scantree.exp
 load_gcc_lib scanltranstree.exp
+load_gcc_lib scanoffload.exp
 load_gcc_lib scanoffloadtree.exp
 load_gcc_lib scanoffloadrtl.exp
 load_gcc_lib scanipa.exp