Hello, Thomas,

Sorry it took me so long to get back to you.

Thanks for the patches you posted a couple of weeks ago, I'm merging
them into my aux-dump-revamp branch, where I'm accumulating the patches
related with this change.


On Jun 30, 2020, Thomas Schwinge <tho...@codesourcery.com> wrote:

> For example, if there are two 'offload_targets' configured, and you do a:

>     PASS: libgomp.c++/scan-offload-1.C scan-offload-tree-dump-times optimized 
> "(?n)^main\\._omp_fn\\.0 " 1
>     PASS: libgomp.c++/scan-offload-1.C scan-offload-tree-dump-times optimized 
> "(?n)^main\\._omp_fn\\.0 " 1

> Can we easily get the respective offload target into that, or even full
> 'scoff-format' if that's easier?  I surely could hack up something, but
> can you see an elegant way?

I'm not sure this is elegant, but...  does it work?
Ok to install if it does?  (I haven't tested it at all)


add offload target to testname for pass/fail message

From: Alexandre Oliva <ol...@adacore.com>

Offload tests that scan dump files may run multiple times, once per
offload target, but the test result messages do not mention the
offload target, so we may seem to have repeated results.  Fixed by
modifying the test name so that it contains the offload target name.


for  gcc/testsuite/ChangeLog

        * lib/scanoffload.exp (scoff-testname, scoff-adjust): New.
        (scoff): Call them.
---
 gcc/testsuite/lib/scanoffload.exp |   17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/lib/scanoffload.exp 
b/gcc/testsuite/lib/scanoffload.exp
index 1a26e44..397420a 100644
--- a/gcc/testsuite/lib/scanoffload.exp
+++ b/gcc/testsuite/lib/scanoffload.exp
@@ -22,6 +22,19 @@ proc scoff-format { offtgt suffix } {
     return ".x$offtgt.mkoffload$suffix"
 }
 
+# Adjust an offload dump TESTNAME for offload TARGET.
+proc scoff-testname { target testname } {
+    return "$target-$testname"
+}
+
+# Adjust the arglist ARGS, so that argument IDX gets scoff-formatted,
+# and argument 0 (the test name) gets scoff-testnamed.
+proc scoff-adjust { args idx target } {
+    set args [lreplace $args $idx $idx "[scoff-format $target [lindex $args 
$idx]"]
+    set args [lreplace $args 0 0 "[scoff-testname $target [lindex $args 0]"]
+    return $args
+}
+
 # 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.
@@ -34,7 +47,7 @@ proc scoff { args } {
     if [info exists offload_target] {
        set target $offload_target
        if { "$target" != "disable" } {
-           eval $prc [lreplace $args $idx $idx "[scoff-format $target [lindex 
$args $idx]]"]
+           eval $prc [scoff-adjust $args $idx $target]
        }
     } else {
        global offload_targets
@@ -42,7 +55,7 @@ proc scoff { args } {
            # HSA offloading is doing things differently, doesn't use 
'mkoffload'.
            if { "$target" == "hsa" } continue
 
-           eval $prc [lreplace $args $idx $idx "[scoff-format $target [lindex 
$args $idx]]"]
+           eval $prc [scoff-adjust $args $idx $target]
        }
     }
 }


-- 
Alexandre Oliva, freedom fighter    he/him    https://FSFLA.org/blogs/lxo/
Free Software Evangelist              Stallman was right, but he's left :(
GNU Toolchain Engineer           Live long and free, and prosper ethically

Reply via email to