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