From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id B3DD33858D28 for ; Wed, 29 Nov 2023 14:16:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B3DD33858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B3DD33858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.180 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701267364; cv=none; b=gMCYzrJhIxZlVGWJNp8Hz73pLg4OS9GN550rBBvpQW3spVJJtT8d544sSayf2LJNGh7hJ0vF+XtgugKVuHbek0cL5C0UPPb8Q1YsKtJvkTtIADsn7HgpI4xSCmS6sveQtHmwgYuNIYqywlaHeRbOPWpXzS9DVpn7qqJ0kziubrg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701267364; c=relaxed/simple; bh=bOxlfwQUDnTmWrrUQX+ko3HAjaoSUFxtXSPbW1QQvlA=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=jFgUJ0z+fIwSgZpnEBXeLX3mRgmhTSJfptv3gsq/dApy/MCMv33ZVfnMVQEpkqVGzfBDfZDtphYvBrnDV9Aboj87PVNiwy0//nkvDRnanNiCPLvckGEAqPS+G9dASvsbPMdLYd1g5IyzDjV/5z6aBRZBmdj5YzMlliY482Sn+aE= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: dUqjApaYTeSYkFcaoLFTeA== X-CSE-MsgGUID: EYvxjMNCRZqBEyvRAy46Ww== X-IronPort-AV: E=Sophos;i="6.04,235,1695715200"; d="scan'208,223";a="24011838" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 29 Nov 2023 06:15:57 -0800 IronPort-SDR: SnnUfJ/T/4ICnZHPUgfsl1AepJGHJS7eAk2fmgdA9rNiWMzT+Y4QcHj1RFh0OUI7nvlHj6raPJ GgHSCFwVhiL7pcIdl/yuwlg33Mj5vDNN3nW6zCqX1tGYf0EJqwo0I85hSQmli/aG9uXkYH13ci lwaqBtbrp8rx1iz0sHkpzLKxnMXao93xM3S7bjqjeA39GQy+jKm963xxPjtMMIEX2hJ5z4A0O1 Q0nQ9zTknR4KMLb/2/7U61p929qdSDG4s/4h41t8e4/PwjErfaWo+1MIxYp5FZ94yN1fNi22dk zvY= From: Thomas Schwinge To: Sandra Loosemore , CC: Jakub Jelinek , Tobias Burnus Subject: In 'libgomp.c/target-simd-clone-{1,2,3}.c', restrict 'scan-offload-ipa-dump's to 'only_for_offload_target amdgcn-amdhsa' (was: [PATCH v4] OpenMP: Generate SIMD clones for functions with "declare target") In-Reply-To: <927ad110-065e-9414-1312-bff5a0644e97@siemens.com> References: <927ad110-065e-9414-1312-bff5a0644e97@siemens.com> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Wed, 29 Nov 2023 15:15:50 +0100 Message-ID: <87jzq063xl.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-=-= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi! On 2022-11-14T21:46:15-0700, Sandra Loosemore via Gcc-patches wrote: > [...] I've added infrastructure to support testing on the offload > compiler, added new test cases, and reworked the existing test cases to > scan for interesting things written to the dump file instead of > examining the .s output. Thanks! (..., belatedly. I think it was me who suggested that.) Just one minor fix-up: > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-1.c > @@ -0,0 +1,43 @@ > +/* { dg-do link { target { offload_target_amdgcn } } } */ This means, the test case is active if GCN offloading compilation is enabled. But, consider the case that nvptx offloading compilation also is enabled: > +/* { dg-additional-options "-O2 -foffload-options=3D-fdump-ipa-simdclone= -details" } */ This will produced dump files for both, GCN and nvptx, separately. However, this isn't applicable for nvptx, thus no dump file produced for that. > +[...] > +/* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*N.*_a= ddit" "simdclone" } } */ > +/* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*M.*_a= ddit" "simdclone" } } */ ..., and this will try to scan dump files for both GCN and nvptx. The latter don't exist, resulting in UNRESOLVEDs for nvptx. I've pushed to master branch commit 4c909c6ee381a43081d68abc1ff8a35ce20d24d9 "In 'libgomp.c/target-simd-clone-{1,2,3}.c', restrict 'scan-offload-ipa-dum= p's to 'only_for_offload_target amdgcn-amdhsa'", see attached. (This obviously depends on "testsuite: Add 'only_for_offload_target' wrapper for 'scan-offload-tree-du= mp' etc.", which I've also just pushed to master branch in commit 27c79b91f6008a21006d4e7053a98e63f2990bb2.) Gr=C3=BC=C3=9Fe Thomas > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-2.c > @@ -0,0 +1,39 @@ > +/* { dg-do link { target { offload_target_amdgcn } } } */ > +/* { dg-additional-options "-foffload-options=3D-fdump-ipa-simdclone-det= ails -foffload-options=3D-fno-openmp-target-simd-clone" } */ > +[...] > +/* { dg-final { scan-offload-ipa-dump-not "Generated .* clone" "simdclon= e" } } */ > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-3.c > @@ -0,0 +1,40 @@ > +/* { dg-do link { target { offload_target_amdgcn } } } */ > +/* { dg-additional-options "-O2 -foffload-options=3D-fdump-ipa-simdclone= -details" } */ > +[...] > +/* { dg-final { scan-offload-ipa-dump "device doesn't match" "simdclone"= { target x86_64-*-* } } } */ > +/* { dg-final { scan-offload-ipa-dump-not "Generated .* clone" "simdclon= e" { target x86_64-*-* } } } */ ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename="0001-In-libgomp.c-target-simd-clone-1-2-3-.c-restrict-sca.patch" >From 4c909c6ee381a43081d68abc1ff8a35ce20d24d9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 21 Nov 2023 20:20:21 +0100 Subject: [PATCH] In 'libgomp.c/target-simd-clone-{1,2,3}.c', restrict 'scan-offload-ipa-dump's to 'only_for_offload_target amdgcn-amdhsa' This gets rid of UNRESOLVEDs if nvptx offloading compilation is enabled in addition to GCN: PASS: libgomp.c/target-simd-clone-1.c (test for excess errors) PASS: libgomp.c/target-simd-clone-1.c scan-amdgcn-amdhsa-offload-ipa-dump simdclone "Generated local clone _ZGV.*N.*_addit" -UNRESOLVED: libgomp.c/target-simd-clone-1.c scan-nvptx-none-offload-ipa-dump simdclone "Generated local clone _ZGV.*N.*_addit" PASS: libgomp.c/target-simd-clone-1.c scan-amdgcn-amdhsa-offload-ipa-dump simdclone "Generated local clone _ZGV.*M.*_addit" -UNRESOLVED: libgomp.c/target-simd-clone-1.c scan-nvptx-none-offload-ipa-dump simdclone "Generated local clone _ZGV.*M.*_addit" PASS: libgomp.c/target-simd-clone-2.c (test for excess errors) PASS: libgomp.c/target-simd-clone-2.c scan-amdgcn-amdhsa-offload-ipa-dump-not simdclone "Generated .* clone" -UNRESOLVED: libgomp.c/target-simd-clone-2.c scan-nvptx-none-offload-ipa-dump-not simdclone "Generated .* clone" PASS: libgomp.c/target-simd-clone-3.c (test for excess errors) PASS: libgomp.c/target-simd-clone-3.c scan-amdgcn-amdhsa-offload-ipa-dump simdclone "device doesn't match" -UNRESOLVED: libgomp.c/target-simd-clone-3.c scan-nvptx-none-offload-ipa-dump simdclone "device doesn't match" PASS: libgomp.c/target-simd-clone-3.c scan-amdgcn-amdhsa-offload-ipa-dump-not simdclone "Generated .* clone" -UNRESOLVED: libgomp.c/target-simd-clone-3.c scan-nvptx-none-offload-ipa-dump-not simdclone "Generated .* clone" Minor fix-up for commit 309e2d95e3b930c6f15c8a5346b913158404c76d 'OpenMP: Generate SIMD clones for functions with "declare target"'. libgomp/ * testsuite/libgomp.c/target-simd-clone-1.c: Restrict 'scan-offload-ipa-dump's to 'only_for_offload_target amdgcn-amdhsa'. * testsuite/libgomp.c/target-simd-clone-2.c: Likewise. * testsuite/libgomp.c/target-simd-clone-3.c: Likewise. --- libgomp/testsuite/libgomp.c/target-simd-clone-1.c | 4 ++-- libgomp/testsuite/libgomp.c/target-simd-clone-2.c | 2 +- libgomp/testsuite/libgomp.c/target-simd-clone-3.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libgomp/testsuite/libgomp.c/target-simd-clone-1.c b/libgomp/testsuite/libgomp.c/target-simd-clone-1.c index a9defc4cdd6..05e1568128a 100644 --- a/libgomp/testsuite/libgomp.c/target-simd-clone-1.c +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-1.c @@ -39,5 +39,5 @@ int main (void) /* Although addit has external linkage, we expect clones to be generated as for a function with internal linkage. */ -/* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*N.*_addit" "simdclone" } } */ -/* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*M.*_addit" "simdclone" } } */ +/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-ipa-dump "Generated local clone _ZGV.*N.*_addit" "simdclone" } } */ +/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-ipa-dump "Generated local clone _ZGV.*M.*_addit" "simdclone" } } */ diff --git a/libgomp/testsuite/libgomp.c/target-simd-clone-2.c b/libgomp/testsuite/libgomp.c/target-simd-clone-2.c index 05a38ae2bc5..58f9e29332e 100644 --- a/libgomp/testsuite/libgomp.c/target-simd-clone-2.c +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-2.c @@ -36,4 +36,4 @@ int main (void) return 0; } -/* { dg-final { scan-offload-ipa-dump-not "Generated .* clone" "simdclone" } } */ +/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-ipa-dump-not "Generated .* clone" "simdclone" } } */ diff --git a/libgomp/testsuite/libgomp.c/target-simd-clone-3.c b/libgomp/testsuite/libgomp.c/target-simd-clone-3.c index bde091e24ba..796a2a23bc3 100644 --- a/libgomp/testsuite/libgomp.c/target-simd-clone-3.c +++ b/libgomp/testsuite/libgomp.c/target-simd-clone-3.c @@ -36,5 +36,5 @@ int main (void) return 0; } -/* { dg-final { scan-offload-ipa-dump "device doesn't match" "simdclone" { target x86_64-*-* } } } */ -/* { dg-final { scan-offload-ipa-dump-not "Generated .* clone" "simdclone" { target x86_64-*-* } } } */ +/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-ipa-dump "device doesn't match" "simdclone" { target x86_64-*-* } } } */ +/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-ipa-dump-not "Generated .* clone" "simdclone" { target x86_64-*-* } } } */ -- 2.34.1 --=-=-=--