devel/omp/gcc-9 branch (was: [wwwdocs] Document existence of openacc-gcc-9-branch)

Message ID
State New
Headers show
  • devel/omp/gcc-9 branch (was: [wwwdocs] Document existence of openacc-gcc-9-branch)
Related show

Commit Message

Thomas Schwinge March 3, 2020, 1:56 p.m.
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter

On 2019-06-04T23:05:53+0100, Julian Brown <> wrote:
> I've pushed a new branch "openacc-gcc-9-branch" to the Git

> mirror (i.e. as a Git-only branch), for development of OpenACC and

> related functionality

(Later also for OpenMP support, in particular for AMD GCN offloading;
hence the decision to tag this "omp" instead of just "openacc" going

> on top of the GCC 9 branch.

Based on the releases/gcc-9 branch point, I've now rebased/recreated this
for the new Git world, with only minor changes:

  - for easy cross-referencing, in the commit logs point to the original
    Git-mirror og9 commits: "(cherry picked from openacc-gcc-9-branch
    commit [...])"
  - use 'ChangeLog.omp' files
  - merge the "Add missing ChangeLog.openacc entry" commit into what it's
    fixing up -- to avoid having to edit the commit log for the changed
    'ChangeLog.omp' filename ;-)
  - fix a handful of "git-svn" commit author IDs, which the server-side
    Git hooks probably would've rejected to be pushed

Given that nobody protested to my suggestion in
"Git branch name to use for development branch based on release branch,
not master", I've pushed this as devel/omp/gcc-9, and pushed to
gcc-wwwdocs the attached commit 6b92a4c7033db33ed5b6827e826a561077ed2181
"Document devel/omp/gcc-9 branch".

openacc-gcc-9-branch rebased onto f47f687a97260b1a1305cbf2d7ee3d74b2916a74

git log --reverse --stat -p upstream--git-old/openacc-gcc-9-branch ^upstream--git-old/gcc-9-branch

while read s x; do git cherry-pick -x "$s" && for f in ChangeLog.openacc */ChangeLog.openacc */*/ChangeLog.openacc; do if test -f "$f"; then git mv "$f" "${f%%openacc}omp"; fi; done && git commit --amend -v; done < ~/tmp/tmp

-(cherry picked from commit [...]
+(cherry picked from openacc-gcc-9-branch commit [...]
+(cherry picked from openacc-gcc-9-branch commit [...], commit [...]

789c1d022a87 [PATCH] Forward -foffload=[...] from the driver (compile-time) to libgomp (run-time)
b7d99d5bc7b4 Async rework (v6)
dc9711235460 Host-to-device transfer coalescing & magic offset value self-documentation
e7f6d3b9a0b1 Factor out duplicate code in gimplify_scan_omp_clauses
1242d5e65813 OpenACC 2.6 manual deep copy support (attach/detach)
ee87cb3436ca OpenACC reference count consistency checking
ad36f2e3a8ad [og8] Attach/detach array slices on dereferenced struct members
378239a91cd9 [1/8] Multi-dimensional dynamic array support for OpenACC data clauses, gomp-constants.h additions
245dc26efd58 [2/8] Multi-dimensional dynamic array support for OpenACC data clauses, C/C++ front-end parts
a9cde8c122c4 [3/8] Multi-dimensional dynamic array support for OpenACC data clauses, gimplify patch
428bb933e972 [4/8] Multi-dimensional dynamic array support for OpenACC data clauses, omp-low: dynamic array descriptor creation
b84089be096e [5/8] Multi-dimensional dynamic array support for OpenACC data clauses, omp-low: bias scanning/adjustment during omp-lowering
1851ac580e27 [6/8] Multi-dimensional dynamic array support for OpenACC data clauses, tree pretty-printing additions
e2266a0a7f99 [7/8] Multi-dimensional dynamic array support for OpenACC data clauses, libgomp support
26413f817be2 [8/8] Multi-dimensional dynamic array support for OpenACC data clauses, libgomp testsuite additions
857f3bc94d84 Interaction of dynamic/multidimensional arrays with attach/detach.
a6ec4f19ff50 Add support for OpenACC routine nohost clause
1cf459e23c20 Use oacc_verify_routine_clauses for C/C++
6b0f72aad203 Tweak error return value for acc_set_cuda_stream.
ac6c90812344 Add OpenACC Fortran support for deviceptr and variable in common blocks
533beb2ec19f Various OpenACC reduction enhancements - FE changes
6f456aa7d21e Various OpenACC reduction enhancements - ME and nvptx changes
e3cdb913b543 Various OpenACC reduction enhancements - test cases
18e5e71a03b6 Adjustments and additions to testcases
99a4260fe264 Reinstate kernels-restrict behaviour
691d1aa4a69a Generate sequential loop for OpenACC loop directive inside kernels
0dd9e6ac878a Default compute dimensions (compile time)
846842be6a21 Fix implicit mapping for array slices on lexically-enclosing data constructs (PR70828)
97d46d0cd322 Enable GOMP_MAP_FIRSTPRIVATE_INT for OpenACC
965361e88908 Fortran "declare create"/allocate support for OpenACC
6acf40a4364c Don't mark OpenACC auto loops as independent inside acc parallel regions
1add5113c32e Enable firstprivate OpenACC reductions
84af3c5a2fbb Fix hang when running oacc exec with CUDA 9.0 nvprof
553ec292e4ae Tweak target selector for libgomp.oacc-c-c++-common/lib-93.c.
e5ca8c276ca6 New tests from pr72741 only
605f776041c4 Add support for gang local storage allocation in shared memory
b930a8a1ee82 Allow NULL for update directives in OpenACC 2.6
57093894d563 Calculate correct size for optional arguments used in the firstprivate clause
b82fdae5301f Add support for allocatable arrays as optional arguments
b23eb4c2405a Add tests for Fortran optional arguments in OpenACC 2.6
abe098482846 Ensure that optional-arguments check is specific to Fortran
4fba24cfbbd3 Allow optional arguments to be used in the use_device OpenACC clause
f5c850bac631 Disable libstdc++ dependency for libffi
ffa02cac81b3 Report errors on missing OpenACC reduction clauses in nested reductions
b52c8d006581 Add OpenACC 2.6 if and if_present clauses on host_data construct: GOACC_FLAG_HOST_DATA_IF_PRESENT
721ed7ea4057 Use functional parameters for data mappings in OpenACC child functions
46e6f6b64f5e Add OpenACC 2.6 `serial' construct support
8e74c2ec2b90 Add OpenACC 2.6 `no_create' clause support
4674caa90e82 Add OpenACC 2.6 `acc_get_property' support
ff54f28eee81 Use "-fopenacc-kernels=parloops" to document "parloops" test cases
b24a8fc55b6d Add OpenACC target kinds for decomposed kernels regions
f769c55eb290 Separate OpenACC kernels regions in data and parallel parts
f57959287aca Turn OpenACC kernels regions into a sequence of parallel regions
7e226bd5ed55 Handle conditional execution of loops in OpenACC kernels regions
d3fee8cbeceb Adjust parallelism of loops in gang-single parts of OpenACC kernels regions
14a66effcef4 Launch kernels asynchronously in OpenACC kernels regions
b8e8a2384469 New OpenACC kernels region decompose algorithm
7035758011d2 Make new OpenACC kernels conversion the default; adjust and add tests
528fe932e95d Adjust parallelism of loops in gang-single parts of OpenACC kernels regions: "struct adjust_nested_loop_clauses_wi_info"
1fa609ba73e9 Add OpenACC 2.6 `acc_get_property' support: restore Intel MIC offloading
9f8245e675d2 Fix ICE when optional arguments are used in OpenACC directives
7a22697197b8 Update OpenACC version to 2.6
2987e142892f Avoid introducing 'create' mapping clauses for loop index variables in kernels regions
995f9680a46c Initialise KEY and OFFSET fields when if_present test fails.
3f86b73b7706 Add kernels for-index reuse testcase.
a2ed98fb3168 Fix references declared in lexically-enclosing OpenACC data region
d6627e705655 Fix warning syntax and typos in two libgomp tests
34ca2518b914 Fix lexically-nested data mappings for no_alloc or optional arguments
7f78056b7d6c Fix for firstprivate-int.f90 test failures
9ff104a9f24e Fix missing gstdint.h error
bb65425bb284 Link libquadmath in Fortran libgomp tests
09d9f4e78c1f Fix expected messages in goacc tests
ac8b85410f6d Apply gangprivate attribute to innermost decl

! 891935361130 Merge commit 'gcc-9_1_0-release^' into openacc-gcc-9-branch
  Merge tag 'releases/gcc-9.1.0'
  (cherry picked from openacc-gcc-9-branch commit 891935361130d470567210e4a2dfefde2f634030)

d12faf81132c Improve OpenMP map diagnostics.
d6b6e2be68c1 Fix ICE in cp_omp_mappable_type_1
3c260613f2e7 Support Fortran 2003 class pointers in OpenACC
cfc73bde0827 Assumed-size arrays with non-lexical data mappings
1d39156f663f Allow the accelerator to have more offloaded functions than the host
b3c9281e6a2f Commit of
1246da4f164b OpenACC Profiling Interface (incomplete)
b1321d52402d Add changes to profiling interface from OG8 branch
9f1f40c95faa [og9] Add support for constructors and destructors on GCN
4fe682c033fa [og9] Create GCN-specific gthreads
7ab7ce2c0e37 [og9] Stub implementation of unwinding for AMD GCN
1e5027a5c3de [og9] Enable full GFortran library for AMD GCN
dfe3cbfb88da [og9] AMD GCN offloading support
d1a4d60a3bb4 [og9] Make OpenACC function-parameter explosion optional
3df3ea7e8163 [og9] NVPTX GOMP_OFFLOAD_openacc_async_construct arg fix and gomp_print_* support
fcea4b6e384e [og9] Update parallel-dims.c and serial-dims.c warning line numbering.
6a2a29256ca9 [og9] Add missing exec_params libgomp plugin entry points
a48bf635e1b7 [og9] Fix configury for AMD GCN testing
bae2ce6026b3 [og9] Use a single worker for OpenACC on AMD GCN
79cc9084f24f [og9] Wait at end of OpenACC asynchronous kernels regions
6723cd26bad5 [og9] Use temporary buffers for async host2dev copies
b4bc0ff301aa [og9] Wait on queue-full condition in AMD GCN libgomp offloading plugin
c8992567df06 [og9] Fix libgomp.oacc-fortran/lib-13.f90 async bug
2c432092fae9 [og9] Target-dependent gang-private variable decl rewriting
1de0113e1a68 [og9] OpenACC middle-end worker-partitioning support
f079b7a61a6b [og9] AMD GCN adjustments for middle-end worker partitioning
40d6dc794b87 [og9] Fix up tests for oaccdevlow pass splitting
a86b272418e2 [og9] Reference reduction localization
79e769217850 [og9] Enable worker partitioning for AMD GCN
cb61e528165a Backport expcnt patches.
53886cd9a0b0 [og9] Fix tree check failure with reduction localization
2656f9aa1b7e [og9] Remove duplicate SESE code in NVPTX backend
7ed5fa7ae91f Tweak error message for mapped parameters.
d984b4606936 [og9] Add omp_pause_resource{,_all} for AMD GCN
fda67bec41cb [og9] Use more appropriate var in localize_reductions call
3a62e6e8be24 [og9] OpenACC profiling support for AMD GCN
dd55735f6fc7 Add -march=gfx906 for AMD GCN.
cd5b623df8ec Move offload data into GPU memory.
9e56738ddf5a Fix relocations with multiple devices.
68e905b78796 Use GFX9 granulated sgprs count correctly.
4bc3e873bcaa Detect number of GPU compute units.
6cee7b36a0fa Fix memory leak in libgomp when using OpenMP
182c52fc5b24 [og9] Fix src_copy mismerge in GOMP_OFFLOAD_openacc_async_host2dev
714b46df96da [og9] Improve async serialize implementation for AMD GCN libgomp plugin
c52fb36bc65b [og9] Clean up dead/write-only fields in GCN libgomp plugin
392044a8db28 libgomp plugin-gcn - init string
0467f885d40e [og9] A couple of GCN-specific test fixes
da5cbde44633 [og9] Update expected messages, errors and warnings for "kernels" tests
dce6d63aa6d5 [og9] Fix uninitialised read in gomp_map_vars_internal
9bd8ebbc1a1e [og9] OpenACC profiling-interface fixes for asynchronous operations
3a25e449d04d [og9] Fix OpenACC "ephemeral" asynchronous host-to-device copies
500483e6ced4 Silence compiler warnings
8a8ebae1a419 Use PRId64 if available
0f2a4240229e libgomp - fix dg-warning line numbers
e74aaa153d84 Reduce testsuite fails
3e8fcd5d0daf [og9] Add 'ephemeral' parameter to GOMP_OFFLOAD_openacc_async_host2dev
7d0d394c1c9b Backport from mainline
28b843e3c547 [og9] Handle references in OpenACC "private" clauses
32568a014c67 Backport Fortran OMG/ACC diagnositic patch
55858edc1aab Fortran - Improve OpenMP/OpenACC diagnostic
54fbada7d4d3 Fortran - fix OpenMP 'target simd'
d13968ca4a60 Fix OpenMP's use_device_ptr with Fortran array descriptors
195a5318951a [og9] Fix libgomp serial-dims.c test for AMD GCN
bbad72882691 [og9] Re-do OpenACC private variable resolution
20245bf2e0b8 [og9] Backport AMD GCN backend improvements from mainline

! e4005e490429 Add missing ChangeLog.openacc entry

d68cd776e4a5 [og9] Fix libgomp.oacc-fortran/lib-16.f90 test


git log --reverse --stat -p f47f687a97260b1a1305cbf2d7ee3d74b2916a74.. ^releases/gcc-9.1.0


Tobias Burnus March 5, 2020, 1:51 p.m. | #1
I have now merged the GCC 9 changes into the branch;
before it was up to date with 'releases/gcc-9.1.0',
and now it is with today's

This was done in two pieces (9.1.0 to 9.2.0 changes,
and then to today's as only 1000 commits are permitted.)

The main reason for doing this merge is GCC 9's
commit r9-8063-g75003cdd23c310ec385344e8040d490e8dd6d2be
of Fri Dec 20 17:58:35 2019 +0100:
"backport: re PR sanitizer/92154 (new glibc breaks arm bootstrap due to libsanitizer)"

Despite the PR title, that commit also fixes bootstrap on x86-64-gnu-linux.



Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter


From 6b92a4c7033db33ed5b6827e826a561077ed2181 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <>
Date: Tue, 3 Mar 2020 14:37:36 +0100
Subject: [PATCH] Document devel/omp/gcc-9 branch

..., and retire openacc-gcc-9-branch.
 htdocs/git.html | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/htdocs/git.html b/htdocs/git.html
index 7fd22a9b..bec93ead 100644
--- a/htdocs/git.html
+++ b/htdocs/git.html
@@ -280,19 +280,16 @@  in Git.</p>
   Makarov <a href=""></a>.
-  <dt><a href="">openacc-gcc-9-branch</a></dt>
-  <dd>This <a href="">Git-only branch</a> is
-  used for collaborative development
-  of <a href="">OpenACC support</a> and related
+  <dt><a href=";a=shortlog;h=refs/heads/devel/omp/gcc-9">devel/omp/gcc-9</a></dt>
+  <dd>This branch is for collaborative development of
+  <a href="">OpenACC</a> and
+  <a href="">OpenMP</a> support and related
   functionality, such
-  as <a href="">offloading support</a>.  The
-  branch is based on gcc-9-branch.  Find it
-  at <code>git://</code>,
-  &lt;<a href=";a=shortlog;h=refs/heads/openacc-gcc-9-branch">;a=shortlog;h=refs/heads/openacc-gcc-9-branch</a>&gt;,
-  or
-  &lt;<a href=""></a>&gt;.
+  as <a href="">offloading</a> support (OMP:
+  offloading and multi processing).
+  The branch is based on releases/gcc-9.
   Please send patch emails with a short-hand <code>[og9]</code> tag in the
-  subject line, and use <code>ChangeLog.openacc</code> files.</dd>
+  subject line, and use <code>ChangeLog.omp</code> files.</dd>
   <dd>This branch is for work on improving effectiveness and generality of GCC's
@@ -943,10 +940,12 @@  merged.</p>
+  <dt>openacc-gcc-9-branch</dt>
   <dd>These branches were used for development of
   <a href="">OpenACC support</a> and related
-  functionality, based on gcc-7-branch and gcc-8-branch respectively.
-  Work is now proceeding on the openacc-gcc-9-branch.</dd>
+  functionality, based on gcc-7-branch, gcc-8-branch, and gcc-9-branch
+  respectively.
+  Work is now proceeding on the devel/omp/gcc-9 branch.</dd>
   <dd>The goal of this branch was to have a stable compiler based on GCC 3.3