{"id":2224509,"url":"http://patchwork.ozlabs.org/api/patches/2224509/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260417134916.339567-1-tschwinge@baylibre.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417134916.339567-1-tschwinge@baylibre.com>","list_archive_url":null,"date":"2026-04-17T13:49:16","name":"[PUSHED] openmp: ensure variables in offload table are streamed out (PRs 94848 + 95551): OpenACC test case","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"6f51eed7af1524319b612f9e5eb5cd952f52ae8c","submitter":{"id":87905,"url":"http://patchwork.ozlabs.org/api/people/87905/?format=json","name":"Thomas Schwinge","email":"tschwinge@baylibre.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260417134916.339567-1-tschwinge@baylibre.com/mbox/","series":[{"id":500343,"url":"http://patchwork.ozlabs.org/api/series/500343/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=500343","date":"2026-04-17T13:49:16","name":"[PUSHED] openmp: ensure variables in offload table are streamed out (PRs 94848 + 95551): OpenACC test case","version":1,"mbox":"http://patchwork.ozlabs.org/series/500343/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224509/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2224509/checks/","tags":{},"related":[],"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=BWxr5geO;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=BWxr5geO","sourceware.org;\n dmarc=none (p=none dis=none) header.from=baylibre.com","sourceware.org; spf=pass smtp.mailfrom=baylibre.com","server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.221.48"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxx8s1KCCz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 23:50:20 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 171964CCCA0A\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 13:50:18 +0000 (GMT)","from mail-wr1-f48.google.com (mail-wr1-f48.google.com\n [209.85.221.48])\n by sourceware.org (Postfix) with ESMTPS id 363DC4C515D9\n for <gcc-patches@gcc.gnu.org>; Fri, 17 Apr 2026 13:49:50 +0000 (GMT)","by mail-wr1-f48.google.com with SMTP id\n ffacd0b85a97d-43d74086e5bso649946f8f.0\n for <gcc-patches@gcc.gnu.org>; Fri, 17 Apr 2026 06:49:50 -0700 (PDT)","from dem-tschwing-1.schwinge.ddns.net\n (p200300c8b74c74007aec2d3495560d74.dip0.t-ipconnect.de.\n [2003:c8:b74c:7400:7aec:2d34:9556:d74])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43fe4e4d6casm4297467f8f.32.2026.04.17.06.49.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 17 Apr 2026 06:49:48 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 171964CCCA0A","OpenDKIM Filter v2.11.0 sourceware.org 363DC4C515D9"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 363DC4C515D9","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 363DC4C515D9","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776433790; cv=none;\n b=Uni6i+kgR40PrWRlCKY2FiCvoqfKz29RCZq4sjGgmorEQEfuesHCuOdLPwKUcua0jqjpFfAQIyvfZb2dzji0M/LMbJE0Pk6BhR1JH9pOOdQq1Cpiaq2br/dcwYO3cPziN5Om16hZ4aQq9VwxnLORmR8gWMmbCHcBhkvIA1vBFBc=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776433790; c=relaxed/simple;\n bh=GEQW65jYE9vXePBzs+e3iFCtSZQ6fuG1TwLki9Tx7+U=;\n h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version;\n b=hkQt36PcZkTaUUW9eihlu+I3xR3ezuwkL1dony5C4naSnmaXM4petejV0u/48F6jahOAIpQxlAMt3VPlhHqp8BBXKo+KzGNLkcXJAM5uJmxpC2VxLeBiIQvsLvZLSN/KmOWsB264eAl+XBTktZyM0lXOWupWiIDc/f/YGw4pZJQ=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1776433789;\n x=1777038589;\n darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=LmZZQaWtrwypm/jSPQg8k4gSeAmu4zncwmYaC16gH0U=;\n b=BWxr5geOn63Y/i+m4sfTAOdo+1S/2vchGvXqgzjK4CWAHgh+7Co2YPYjA3jirUOfXU\n +btZL7f2W/Y6smzq6shSxvPsOfTA6XpxM0GoeDQeioUW+1Xoz2iPwm6rzbLzZqNXyTFy\n Dn2oOUiVWm/85s7v8qsVF/rFPeDDwPDNW6ns5AaGPlt3ZLqUAsw+ojl1bJAnzgLpqd9Y\n a/qwAbdtKd+cbiL5iUIbNbQTy7LWe5VNg/o6BzTbBrsK8/El8k8McjhXL5A1+nmoX3pi\n 9PyWu6aOAGd94ONTPBrLflcx4KExjz/6LzJTgiWsT/tPhpO4UPdyDusU3j6ppUVokUBp\n JmrA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776433789; x=1777038589;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=LmZZQaWtrwypm/jSPQg8k4gSeAmu4zncwmYaC16gH0U=;\n b=dcz49wi59g4BNrcmlh68MyhtK//jqjo0VEk8Yx128GNOpBoAndsqMYlUMhqxxbf68t\n IHO+hgitmkeLBaDXsZUu985RMuALo8z79UHG3C6PA8kTz5c2obaIadVvl6UAQ5mDtxKc\n wBkZ6tuThhg/vOXYbL4uGZXxddijZA2eldDIUCChMSX3THQmrTU2sxx2fdQojgF+O3oV\n DvO9jLCBwjvjw2yJqucnYouiKDcItlNEbgAPV6aUSM1cKP0Iu9NOZipe2lS/I9V6n9S0\n uzcDitz8E7DJUaRF8h6vuxEZvj6EF1pEucTGNL5by4BaPknOha65meR+QY7nlAzp9XhD\n Ru6g==","X-Gm-Message-State":"AOJu0YyF3R0IhJGv1UlIPRG7sqsjffdAbRwRsJNOrtwukfBzqAqq5fAR\n Lta2ejM8CjAe/z0XimJDZxsmRMZHfFwCrxYX+o3yFQxx1F1iTzJZjPLa9IFmWsop9SZN+pD1E0s\n BLc1+Jcg=","X-Gm-Gg":"AeBDietSjGPeiofuU0xzurB+lbcGNoSTcXjyoHGH0IbqzSMFyEnXgnBbdT0MIXl9HM1\n fKZEBQK+sMrRBgoPc0l/8wMA0F+ZYLLOZQhJuAAroa2Um/KLMpLLcWikZheNLaYrXb0wZbky4VW\n KzeuMshqGmw4i/v6pPLBIhvxDjta1g0GPJBIFuj06LP7lhVJ42rEqVOlPrXuyV6NXOYYmQBEcXL\n xjZ/Lp02Trz0/QHjXvVRzAn7XewyXuEpNa/cUrClck3dI5k42fih1j23WbnMLIZ/22lzL6Ruw8w\n mhoYfKxg/A5NfY7MBSMTh9rGZGz5yF2qJSQ5kbD1doOfemRevrFySvqbAxeV7pvJsjBnrP4zKUG\n afXiUgc56pCUS2/ITBT4FDzQrePI2tgEgWFCc5iWcNAah7k4X5YBGMLirlrzfrGorEHZA0O9oD0\n Ry1wxnO+r8ii/6dUSWBRuZZpMn/YJql8QW3F68F+lw+0TIvQYeVPJtwK7HAL6dmiUeCKkfCFBAd\n jlGLjh+OW8BK4SYMxwT/HxL8gj64v9g4l4h60klkcyP03ZK9HSmRQ==","X-Received":"by 2002:a05:6000:2089:b0:439:ccd7:cdb6 with SMTP id\n ffacd0b85a97d-43fe3dd4f9emr4578668f8f.14.1776433788660;\n Fri, 17 Apr 2026 06:49:48 -0700 (PDT)","From":"Thomas Schwinge <tschwinge@baylibre.com>","To":"gcc-patches@gcc.gnu.org","Cc":"tburnus@baylibre.com","Subject":"[PUSHED] openmp: ensure variables in offload table are streamed out\n (PRs 94848 + 95551): OpenACC test case","Date":"Fri, 17 Apr 2026 15:49:16 +0200","Message-Id":"<20260417134916.339567-1-tschwinge@baylibre.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<22cdd4ec-7d14-03b1-6789-54788a573bca@codesourcery.com>","References":"<22cdd4ec-7d14-03b1-6789-54788a573bca@codesourcery.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"The test case 'libgomp.fortran/target-var.f90' added in\ncommit 1c0fdaf79e3618fd7512608a2e5c62b6b306e9e8\n\"openmp: ensure variables in offload table are streamed out (PRs 94848 + 95551)\"\nalluded to an OpenACC variant in addition to OpenMP 'target', but didn't\nactually add it -- do that now.  Via reverting the applicable compiler-side\ncode changes, I've re-confirmed that the original problem also applied to\nOpenACC.\n\nFor good measure, also fix up the OpenACC: the array assignment/constructor\nbefore the loop and 'if'/'any' check after the loop execute in gang-redundant\nmode, which -- in presence of multiple gangs executing, as implied by the\nOpenACC 'loop' construct with 'gang' clause -- is dubious, even if probably\nbenign in this specific case here, I suppose.  Use OpenACC 'kernels' instead.\n\n\tPR middle-end/95551\n\tlibgomp/\n\t* testsuite/libgomp.fortran/target-var.f90: Rename to...\n\t* testsuite/libgomp.fortran/pr95551-1.f90: ... this, and fix up the\n\tOpenACC.\n\t* testsuite/libgomp.oacc-fortran/pr95551-1.f90: New.\n---\n .../libgomp.fortran/{target-var.f90 => pr95551-1.f90}       | 6 ++++--\n libgomp/testsuite/libgomp.oacc-fortran/pr95551-1.f90        | 4 ++++\n 2 files changed, 8 insertions(+), 2 deletions(-)\n rename libgomp/testsuite/libgomp.fortran/{target-var.f90 => pr95551-1.f90} (86%)\n create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/pr95551-1.f90","diff":"diff --git a/libgomp/testsuite/libgomp.fortran/target-var.f90 b/libgomp/testsuite/libgomp.fortran/pr95551-1.f90\nsimilarity index 86%\nrename from libgomp/testsuite/libgomp.fortran/target-var.f90\nrename to libgomp/testsuite/libgomp.fortran/pr95551-1.f90\nindex 5e5ccd47c961..5f35d4f06f53 100644\n--- a/libgomp/testsuite/libgomp.fortran/target-var.f90\n+++ b/libgomp/testsuite/libgomp.fortran/pr95551-1.f90\n@@ -1,5 +1,7 @@\n ! { dg-additional-options \"-O3\" }\n !\n+! See also '../libgomp.oacc-fortran/pr95551-1.f90'.\n+!\n ! With -O3 the static local variable A.10 generated for\n ! the array constructor [-2, -4, ..., -20] is optimized\n ! away - which has to be handled in the offload_vars table.\n@@ -18,7 +20,7 @@ contains\n     integer :: array(:)\n \n     !$omp target map(from:array)\n-    !$acc parallel copyout(array)\n+    !$acc kernels copyout(array)\n     array = [(-2*i, i = 1, size(array))]\n     !$omp do private(array)\n     !$acc loop gang private(array)\n@@ -27,6 +29,6 @@ contains\n     end do\n     if (any (array /= [(-2*i, i = 1, 10)])) error stop 2\n     !$omp end target\n-    !$acc end parallel\n+    !$acc end kernels\n   end subroutine bar\n end\ndiff --git a/libgomp/testsuite/libgomp.oacc-fortran/pr95551-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/pr95551-1.f90\nnew file mode 100644\nindex 000000000000..1e1097c765c9\n--- /dev/null\n+++ b/libgomp/testsuite/libgomp.oacc-fortran/pr95551-1.f90\n@@ -0,0 +1,4 @@\n+! { dg-additional-options -O3 }\n+! { dg-additional-options --param=openacc-kernels=decompose }\n+\n+include '../libgomp.fortran/pr95551-1.f90'\n","prefixes":["PUSHED"]}