From patchwork Wed Nov 4 13:45:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederik Harwath X-Patchwork-Id: 1393943 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CR7Ft34pGz9sTL for ; Thu, 5 Nov 2020 00:45:34 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 140123846034; Wed, 4 Nov 2020 13:45:32 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 252D6385780C for ; Wed, 4 Nov 2020 13:45:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 252D6385780C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Frederik_Harwath@mentor.com IronPort-SDR: XyJTVxJq2VZvmC5o77G4gfw4eiv8X5iaqnmaXMNlW2O4xkMqNpshEl5L/jOzGnrNrM5cPJt+ju qiIbkH+lKvWitOOE3kIEky1TzHbC28CBLLgcCJkAk5BsxTO0QRSAfdSgUehHuAHR8Vbj9F51C2 Lnh7WkSGXZyAJoEmS4CFOsg4I/aTF55a9SuavktHcwh0ZXdKAz4zvZjAQPhEGhWwSbTWr2KVhz LgOwnJ+19qflEsCf++iuHWe/7D+9O8yXHPkqYpQi0dQRuCHUglOSgNnpNzbJfbKItIrQHLy+ns jbY= X-IronPort-AV: E=Sophos;i="5.77,451,1596528000"; d="scan'208,223";a="54796795" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 04 Nov 2020 05:45:27 -0800 IronPort-SDR: vxh2STNcGqpi5qoIn7VY2MD9mOXAJinWxi+u/MXtZBS7iBsaJoymMfRKDBICDibLaNP4MnHwwf vhGPZRPdxtKEL7KqEPBTIddG9L06LReeYkVcAwVstxjOJ+3Y4nxP2caFSU051+jPnXXpQWvvcK Mvu3RQt5rCJYHdnjLzl3eWhyio+eLPWWBvAv+hxNS22qhZD6UgehPbr5Xk83SFOyiMhRlni6r9 3hleikPP8DJdnLbtHV40X6ry6Rd5ZKygl7RAPv6X/CV1WcPGrL18oxlsGHPjZDjVZbzQ34Sp/F ILs= From: Frederik Harwath To: , , GCC Patches Subject: [PATCH] testsuite: Clean up lto and offload dump files Date: Wed, 4 Nov 2020 14:45:21 +0100 Message-ID: MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Schwinge , Tobias Burnus Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" Hi, Dump files produced from an offloading compiler through "-foffload=-fdump-..." do not get removed by gcc-dg.exp and other exp-files of the testsuite that use the cleanup code from this file (e.g. libgomp). This can lead to problems if scan-dump detects leftover dumps from previous runs of a test case. This patch adapts the existing cleanup logic for "-flto" to handle "-flto" and "-foffload" in a uniform way. The glob pattern that is used for matching the "ltrans" files is also changed since the existing pattern failed to remove some LTO ("ltrans0.ltrans.") dump files. This patch gets rid of at least one unresolved libgomp test result that would otherwise be introduced by the patch discussed in this thread: https://gcc.gnu.org/pipermail/gcc-patches/2020-November/557889.html From 9eb5da60e8822e1f6fa90b32bff6123ed62c146c Mon Sep 17 00:00:00 2001 From: Frederik Harwath Date: Wed, 4 Nov 2020 14:09:46 +0100 Subject: [PATCH] testsuite: Clean up lto and offload dump files Dump files produced from an offloading compiler through "-foffload=-fdump-..." do not get removed by gcc-dg.exp and other exp-files of the testsuite that use the cleanup code from this file (e.g. libgomp). This can lead to problems if scan-dump detects leftover dumps from previous runs of a test case. This patch adapts the existing cleanup logic for "-flto" to handle "-flto" and "-foffload" in a uniform way. The glob pattern that is used for matching the "ltrans" files is also changed since the existing pattern failed to match some dump files. 2020-11-04 Frederik Harwath gcc/testsuite/ChangeLog: * lib/gcc-dg.exp (proc schedule-cleanups): Adapt "-flto" handling, add "-foffload" handling. --- gcc/testsuite/lib/gcc-dg.exp | 50 ++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index e8ad3052657..e0560af205f 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -194,31 +194,47 @@ proc schedule-cleanups { opts } { # stem.ext.. # (tree)passes can have multiple instances, thus optional trailing * set ptn "\[0-9\]\[0-9\]\[0-9\]$ptn.*" + set ltrans no + set mkoffload no + # Handle ltrans files around -flto if [regexp -- {(^|\s+)-flto(\s+|$)} $opts] { verbose "Cleanup -flto seen" 4 - set ltrans "{ltrans\[0-9\]*.,}" - } else { - set ltrans "" + set ltrans yes + } + + if [regexp -- {(^|\s+)-foffload=} $opts] { + verbose "Cleanup -foffload seen" 4 + set mkoffload yes } - set ptn "$ltrans$ptn" + verbose "Cleanup final ptn: $ptn" 4 set tfiles {} foreach src $testcases { - set basename [file tail $src] - if { $ltrans != "" } { - # ??? should we use upvar 1 output_file instead of this (dup ?) - set stem [file rootname $basename] - set basename_ext [file extension $basename] - if {$basename_ext != ""} { - regsub -- {^.*\.} $basename_ext {} basename_ext - } - lappend tfiles "$stem.{$basename_ext,exe}" - unset basename_ext - } else { - lappend tfiles $basename - } + set basename [file tail $src] + set stem [file rootname $basename] + set basename_ext [file extension $basename] + if {$basename_ext != ""} { + regsub -- {^.*\.} $basename_ext {} basename_ext + } + set extensions [list $basename_ext] + + if { $ltrans == yes } { + lappend extensions "ltrans\[0-9\]*.ltrans" + } + if { $mkoffload == yes} { + # The * matches the offloading target's name, e.g. "xnvptx-none". + lappend extensions "*.mkoffload" + } + + set extensions_ptn [join $extensions ","] + if { [llength $extensions] > 1 } { + set extensions_ptn "{$extensions_ptn}" + } + + lappend tfiles "$stem.$extensions_ptn" } + if { [llength $tfiles] > 1 } { set tfiles [join $tfiles ","] set tfiles "{$tfiles}" -- 2.17.1