ch, ...). Hopefully none of the choices made so far make those
problems worse!
Restrictions listed in e.g. OpenMP 5.2, "7.5.5 begin declare variant
Directive", are not yet checked against.
It would be nice if the "overload"-type declare variant functions worked
smoothly alon
On Wed, 10 Jan 2024 10:14:41 +0100
Jakub Jelinek wrote:
> On Fri, Jan 05, 2024 at 12:23:26PM +0000, Julian Brown wrote:
> > * g++.dg/gomp/bad-array-section-10.C: New test.
>
> This test FAILs in C++23/C++26 modes, just try
> make check-g++ GXX_TESTSUITE_STDS=98
This patch adjusts diagnostic output for C++23 and above for the test
case mentioned in the commit title.
I will apply shortly as obvious.
2024-01-10 Julian Brown
gcc/testsuite/
* g++.dg/gomp/bad-array-section-10.C: Adjust diagnostics for C++23 and
up.
---
gcc/testsuite/g
This patch fixes several tests introduced by the commit
r14-7033-g1413af02d62182 for 32-bit targets.
I will commit as obvious.
2024-01-10 Julian Brown
gcc/testsuite/
* g++.dg/gomp/array-section-1.C: Fix scan output for 32-bit target.
* g++.dg/gomp/array-section-2.C: Likewise
On Tue, 2 Jan 2024 23:21:21 +0800
Chung-Lin Tang wrote:
> To Julian, there is a patch to the middle-end neutering, a hack
> actually, that detects SSA_NAMEs used in reduction array MEM_REFs,
> and avoids single->parallel copying (by moving those definitions
> before BUILT_IN_GOACC_SINGLE_COPY_STA
eview!
Julian
commit 34c6e9132b3ea33c2e15c88e127c4134a5e88b8d
Author: Julian Brown
Date: Thu Jan 4 16:44:18 2024 +
OpenMP: Support accelerated 2D/3D memory copies for AMD GCN
This patch adds support for 2D/3D memory copies for omp_target_memcpy_rect
using AMD extensions to the HSA API. Th
Hi Tobias,
Thanks for review! Here's a new version of the patch which hopefully
addresses this round of comments.
On Tue, 19 Dec 2023 16:41:54 +0100
Tobias Burnus wrote:
> On 16.12.23 14:25, Julian Brown wrote:
> > --- a/gcc/gimplify.cc
> > +++ b/gcc/gimplify.cc
>
On Fri, 18 Aug 2023 15:47:51 -0700
Julian Brown wrote:
> This patch has been separated out from the C++ "declare mapper"
> support patch. It contains just the gimplify.cc rearrangement
> work, mostly moving gimplification from gimplify_scan_omp_clauses
> to gimplify_adju
On Thu, 14 Dec 2023 08:14:56 +0100
Jakub Jelinek wrote:
> On Wed, Nov 29, 2023 at 11:43:05AM +0000, Julian Brown wrote:
> > * c-c++-common/gomp/target-enter-data-1.c: Adjust scan
> > output.
>
> struct bar { int num_vectors; double *vectors; };
>
> is 16 bytes
evaluate to ensure that it is
> > + not gimplified + is a decl. */
> This is part of my Fortran allocatable-components deep-mapping patch
> that is currently only on OG9 (?) to OG13, badly needs to be
> upstreamed but required that Jakub
On Wed, 27 Sep 2023 00:57:58 +0200
Thomas Schwinge wrote:
> On 2023-09-06T02:34:30-0700, Julian Brown
> wrote:
> > This patch works around behaviour of the 2D and 3D memcpy
> > operations in the CUDA driver runtime. Particularly in Fortran,
> > the "base pointer&
ough it only depends directly on parts of that work (regarding
strided/rectangular updates). A stand-alone version that just works
for the OpenMP API routine omp_target_memcpy_rect could be prepared to
apply separately, if preferable.
This version has been re-tested and bootstrapped. OK?
r 1-dimensional strided accesses: these are
treated as a special case of 2-dimensional transfers, where the innermost
dimension is formed from the stride length (in bytes).
2023-09-19 Julian Brown
libgomp/
* plugin/plugin-gcn.c (hsa_runtime_fn_info): Add hsa_amd
if necessary using a
temporary variable on the host.
2023-09-19 Tobias Burnus
Julian Brown
include/
* cuda/cuda.h (CUlimit): Add CUDA_ERROR_NOT_INITIALIZED,
CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_INVALID_HANDLE.
(CUarray, CUmemorytype, CUDA_MEMCPY2D, CUDA_ME
is to make sure that we use the first element of data to be transferred
instead, and adjust parameters accordingly.
This is a merge of the patch previously posted for mainline to the
og13 branch.
2023-09-19 Julian Brown
libgomp/
* plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust
this is a
backport, and another is a bug fix that has been submitted for mainline
but not yet reviewed. The final patch is new (the AMD support for
2D/3D copies).
Tested with offloading to both NVPTX and AMD GCN. I will push (to the
og13 branch) shortly.
Julian Brown (2):
[og13] OpenMP, NVPTX: m
On Thu, 14 Sep 2023 17:13:02 +0200
Bernhard Reutner-Fischer via Gcc-patches
wrote:
> On Tue, 5 Sep 2023 12:28:28 -0700
> Julian Brown wrote:
>
> > + static bool
> > + equal (const omp_name_type &a,
> > +const omp_name_type &b)
> > + {
&
/2023-September/629363.html
and the array-shaping operator and strided/rectangular 'target update'
support series:
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629422.html
Tested with offloading to NVPTX. OK?
2023-09-06 Julian Brown
gcc/c-family/
* c-common.h (
ecessarily differ for C,
but the general ideas are the same.
This version of the patch has been rebased and contains a couple of
minor fixes relative to versions posted previously.
2023-09-05 Julian Brown
gcc/c/
* c-parser.cc (c_parser_braced_init): Disallow array-shaping operator
form that can ultimately be consumed by
omp_target_memcpy_rect_worker. The method for doing this is described
in comments in the patch body.
This version of the patch has been rebased and contains some additional
minor fixes relative to the version posted for the og13 branch.
2023-09-05 Julian B
pointer to the node to various functions rather than the node itself.
This is needed by the following patch. There shouldn't be any functional
changes introduced by this patch itself.
2023-09-05 Julian Brown
gcc/c-family/
* c-common.h (expand_array_base, expand_com
is to make sure that we use the first element of data to be transferred
instead, and adjust parameters accordingly.
2023-09-05 Julian Brown
libgomp/
* plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
avoid out-of-bounds array checks in CU
ail/gcc-patches/2023-July/623502.html
This version of the series contains several follow-up fixes relative
to the og13 version, and omits some parts that are only present on the
branch for now. Further comments on individual patches.
Tested with offloading to NVPTX and bootstrapped. OK?
Julian
mapper' instantiation":
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627006.html
"OpenMP: Look up 'declare mapper' definitions at resolution time not
parse time":
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627007.html
2023-09-05 Julian Brown
ious lines are still executed in the same order,
though there is a little harmless reshuffling in a couple of places to
make things fit.
There shouldn't be any behavioural changes introduced by this patch.
2023-09-05 Julian Brown
gcc/fortran/
* openmp.cc (omp_verify_clau
troduced by this patch.
2023-09-05 Julian Brown
gcc/fortran/
* gfortran.h (toc_directive): New enum.
* trans-openmp.cc (gfc_trans_omp_array_section): Take toc_directive
parameter instead of gfc_exec_op and 'openmp' boolean.
(gfc_trans_omp_clau
This is a cleanup to avoid passing an ever-longer list of boolean
arguments to gfc_free_omp_namelist, in support of the Fortran "declare
mapper" implementation further along this patch series.
This patch isn't intended to cause any behavioural changes.
2023-09-05 Julian Brown
ps://gcc.gnu.org/pipermail/gcc-patches/2023-June/623356.html
This version supports mappers on "target data", "target enter data" and
"target exit data" directives as well as on "target" directives.
2023-09-05 Julian Brown
gcc/c/
pipermail/gcc-patches/2023-August/627005.html
2023-09-05 Julian Brown
gcc/c-family/
* c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA,
C_ORT_DECLARE_MAPPER, C_ORT_OMP_EXIT_DATA, C_ORT_OMP_DECLARE_MAPPER
values.
(omp_mapper_list): Add forward declara
ously posted for mainline here:
https://gcc.gnu.org/pipermail/gcc-patches/2022-December/609038.html
and for the og13 branch here:
https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623355.html
2023-09-05 Julian Brown
gcc/c/
* c-pretty-print.cc (c_pretty_printer::postfix_expressi
rastructural support series posted
here:
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627895.html
Tested with offloading to NVPTX and bootstrapped. OK?
Julian Brown (8):
OpenMP: lvalue parsing for map/to/from clauses (C++)
OpenMP: lvalue parsing for map/to/from clauses (C)
OpenMP:
On Fri, 18 Aug 2023 15:47:50 -0700
Julian Brown wrote:
> This version of the patch scales back the previously-posted version to
> merely add a diagnostic for incorrect usage of component accesses with
> variably-indexed arrays of structs: the only permitted variant is
> where we h
, in favour of using the "correct"
GOMP_MAP_RELEASE/GOMP_MAP_DELETE kinds during early expansion. A new
flag is introduced so the middle-end knows when the latter two kinds
are being used specifically for an array descriptor.
This version of the patch is based on the version posted for
ic array support
(though that is not yet applied to mainline).
2023-08-18 Julian Brown
gcc/
* gimplify.cc (extract_base_bit_offset): Add VARIABLE_OFFSET parameter.
(omp_get_attachment, omp_group_last, omp_group_base,
omp_directive_maps_explic
ACC: Reorganise OMP map clause handling in gimplify.cc"
https://gcc.gnu.org/pipermail/gcc-patches/2023-June/63.html
Parts of:
"OpenMP: OpenMP 5.2 semantics for pointers with unmapped target"
https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623351.html
2023-08-1
This patch trivially adds braces and reindents the
OMP_CLAUSE_TO/OMP_CLAUSE_FROM/OMP_CLAUSE__CACHE_ stanza in
c_finish_omp_clause and finish_omp_clause, in preparation for the
following patch (to clarify the diff a little).
2023-08-18 Julian Brown
gcc/c/
* c-typeck.cc
ttps://gcc.gnu.org/pipermail/gcc-patches/2023-June/622213.html
Though rearranged somewhat and without several of the later
OpenACC-specific patches.
Further comments on individual patches. Tested with offloading to NVPTX
and bootstrapped. OK for mainline?
Julian Brown (5):
OpenMP/O
nt directive ("omp target",
"omp target data", etc.), an error will be raised.
Support is also added for the "mapper" modifier on to/from clauses for
all three base languages.
2023-08-10 Julian Brown
gcc/c-family/
* c-common.h (c_omp_region_type): Add
esolve_omp_mapper_clauses', called after mapper instantiation.
This improves diagnostic output.
2023-08-10 Julian Brown
gcc/fortran/
* gfortran.h (gfc_omp_clauses): Add NS field.
* openmp.cc (verify_omp_clauses_symbol_dups,
omp_verify_map_motion_clauses)
on the mapper modifier for a clause.
2023-08-10 Julian Brown
gcc/fortran/
* gfortran.h (gfc_omp_namelist_udm): Add MAPPER_ID field to store the
mapper name to use for lookup during resolution.
* match.cc (gfc_free_omp_namelist): Handle OMP_LIST_TO and
he code in openmp.cc is more convenient for the following patch that
introduces the 'resolve_omp_mapper_clauses' function.
2023-08-10 Julian Brown
gcc/fortran/
* gfortran.h (toc_directive): Move here.
(gfc_omp_instantiate_mappers, gfc_get_location): Add p
enumeration values for that purpose instead. This shouldn't
result in any behaviour change, but improves self-documentation.
2023-08-10 Julian Brown
gcc/c-family/
* c-common.h (c_omp_region_type): Add C_ORT_DECLARE_MAPPER and
C_ORT_OMP_DECLARE_MAPPER codes.
gcc/cp/
*
s. I will apply (to the og13 branch) shortly.
Julian Brown (5):
OpenMP: Move Fortran 'declare mapper' instantiation code
OpenMP: Reprocess expanded clauses after 'declare mapper'
instantiation
OpenMP: Introduce C_ORT_{,OMP_}DECLARE_MAPPER c_omp_region_type types
Open
d, not e.g. the indices, lengths
or strides for array sections.
This patch reverses the order used in both omp-low.cc and the Fortran
front-end, so the order should now be correct for all supported base
languages.
Tested with offloading to AMD GCN. I will apply (to og13) shortly.
2023-07-14 Ju
This patch enables the c-c++-common/gomp/declare-mapper-3.c test for C.
This was seemingly overlooked in commit 393fd99c90e.
Tested with offloading to AMD GCN. I will apply (to og13) shortly.
2023-07-14 Julian Brown
gcc/testsuite/
* c-c++-common/gomp/declare-mapper-3.c: Enable for C
o instead calculate a size for the array that encloses the
elements to be transferred, and is guaranteed to be entirely within the
array (user errors excepted).
Tested with offloading to NVPTX. I will apply (to og13) shortly.
2023-07-11 Julian Brown
gcc/
* omp-low.cc (lower
This patch adds expected "vector length" warnings to several tests
for NVPTX.
Tested with offloading to NVPTX. I will apply (to og13) shortly.
2023-07-11 Julian Brown
libgomp/
* testsuite/libgomp.oacc-c-c++-common/implicit-mapping-1.c: Add
expect
ng to AMD GCN. I will apply (to the og13 branch)
shortly.
2023-07-06 Julian Brown
gcc/c-family/
* c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA,
C_ORT_OMP_EXIT_DATA.
(c_omp_instantiate_mappers): Add region type parameter.
* c-omp.cc (omp_split_map
details of parsing necessarily differ for C,
but the general ideas are the same.
2023-07-03 Julian Brown
gcc/c/
* c-parser.cc (c_parser_braced_init): Disallow array-shaping operator
in braced init.
(c_parser_conditional_expression): Disallow array-shaping o
onsumed by
omp_target_memcpy_rect_worker. The method for doing this is described
in comments in the patch body.
2023-07-03 Julian Brown
gcc/fortran/
* trans-openmp.cc (gfc_omp_deep_map_kind_p): Handle
GOMP_MAP_{TO,FROM}_GRID, GOMP_MAP_GRID_{DIM,STRIDE}.
(gfc_trans_om
pointer to the node to various functions rather than the node itself.
This is needed by the following patch. There shouldn't be any functional
changes introduced by this patch itself.
2023-07-03 Julian Brown
gcc/c-family/
* c-common.h (expand_array_base, expand_com
MD GCN. I will apply shortly.
Julian Brown (5):
OpenMP: Fix "exit data" for array sections for ref-to-ptr components
OpenMP: Allow complete replacement of clause during map/to/from
expansion
OpenMP: Support strided and shaped-array updates for C++
OpenMP: Noncontiguous
ecognized as a single mapping group
as it should be. This patch fixes that.
(This is covered by a test case added in later patches in this series,
e.g. libgomp/testsuite/libgomp.c++/array-shaping-8.C.)
2023-07-03 Julian Brown
gcc/
* gimplify.cc (omp_get_attachment): Handle GOMP_MAP_D
This patch adds support for "declare mapper" directives (and the "mapper"
modifier on "map" clauses) for C.
2023-06-30 Julian Brown
gcc/c/
* c-decl.cc (c_omp_mapper_id, c_omp_mapper_decl, c_omp_mapper_lookup,
c_omp_extract_mapper_dire
This patch adds support for parsing general lvalues ("locator list item
types") for OpenMP "map", "to" and "from" clauses to the C front-end,
similar to the previously-posted patch for C++.
2023-06-30 Julian Brown
gcc/c/
* c-pretty-print.
ropriately transferred
to the offload target (see "OMP_MAP_POINTER_ONLY" and
gimplify.cc:omp_maybe_get_descriptor_from_ptr).
2023-06-30 Julian Brown
gcc/fortran/
* dump-parse-tree.cc (show_attr): Show omp_udm_artificial_var flag.
(show_omp_namelist): Support OMP_
fix to splay-tree
traversal in gimplify.cc:omp_instantiate_implicit_mappers, and this patch
omits the rearrangement of gimplify.cc:gimplify_{scan,adjust}_omp_clauses
that I separated out into its own patch and applied (to og13) already.
2023-06-30 Julian Brown
gcc/c-family/
* c-common.h (omp_mapper_
with DECL_VALUE_EXPR handling in
gimplify.cc, which this patch also fixes.
2023-06-30 Julian Brown
gcc/
* gimplify.cc (gimplify_scan_omp_clauses): Add note about
DECL_VALUE_EXPR handling for struct mapping nodes.
(gimplify_adjust_omp_clauses): Perform DECL_VALUE
tream previously:
https://gcc.gnu.org/pipermail/gcc-patches/2022-December/609031.html
(parts 7, 8, 9, 10 and 11), with adjustments necessary due to other
patches already on og13 and also a few follow-up fixes.
Tested with offloading to AMD GCN. I will apply (to og13) shortly.
Julian Brown (7):
This patch fixes a couple of minor merge/formatting errors.
2023-06-30 Julian Brown
gcc/fortran/
* parse.cc (decode_omp_directive): Add missing break.
gcc/
* gimplify.cc (gimplify_adjust_omp_clauses): Fix indentation.
---
gcc/fortran/parse.cc | 1 +
gcc/gimplify.cc | 4
em when allocated/deallocated on the host instead. Then, "declare
create" variables are implicitly turned into "present" clauses on in-scope
offload regions.
2023-06-16 Julian Brown
gcc/fortran/
* trans-openmp.cc (gfc_omp_finish_clause): Handle "declare create
pointer mapping nodes on equivalent "omp data" regions are
not needed, so remain suppressed during expansion.
2023-06-16 Julian Brown
gcc/c-family/
* c-omp.cc (c_omp_address_inspector::expand_array_base): Don't omit
pointer nodes for OpenACC.
gcc/
* gimplify.c
eimplements the "present" clause sorting code to avoid
another sorting pass on mapping nodes.
2023-06-16 Julian Brown
gcc/
* gimplify.cc (omp_segregate_mapping_groups): Handle "present" groups.
(gimplify_scan_omp_clauses): Use mapping group functionality to
T dv%arr <-- deleted (array section mapping)
GOMP_MAP_ATTACH_DETACH dv%arr%data
To accommodate for recent changes to mapping nodes made by
Tobias, this version of the patch avoids using GOMP_MAP_TO_PSET
for "exit data" directives, in favour of using the "correct"
GO
.
For now, multiple *constant* array indices are still supported (see
map-arrayofstruct-1.c). That could perhaps be addressed with a follow-up
patch, if necessary.
This version of the patch renumbers the GOMP_MAP_STRUCT_UNORD kind to
avoid clashing with the OpenACC "non-contiguous" dynamic
"non-contiguous" dynamic array support, so the GOMP_MAP_NONCONTIG_ARRAY_P
macro has been adjusted to account for that.
This behaviour relates to upstream OpenACC issue 490 (not yet resolved).
2023-06-16 Julian Brown
gcc/
* gimplify.cc (gimplify_adjust_omp_clauses_1): Set
"acc enter data").
This relates to upstream OpenACC issue 489 (not yet resolved).
2023-06-16 Julian Brown
gcc/fortran/
* trans-openmp.cc (gfc_omp_finish_clause): Treat implicitly-mapped
assumed-size arrays as zero-sized for OpenACC, rather than an e
This patch trivially adds braces and reindents the
OMP_CLAUSE_TO/OMP_CLAUSE_FROM/OMP_CLAUSE__CACHE_ stanza in
c_finish_omp_clause and finish_omp_clause, in preparation for the
following patch (to clarify the diff a little).
2022-09-13 Julian Brown
gcc/c/
* c-typeck.cc
ot;.
To get a pointer attachment with "enter data", you can do, e.g:
#pragma omp target enter data map(s.ptr, s.ptr[0:10])
#pragma omp target
{
...implicit use of 's'...
}
That is, once the attachment has happened, implicit mapping of 's
This reverts commit a84b89b8f070f1efe86ea347e98d57e6bc32ae2d.
Relevant tests are temporarily disabled or XFAILed.
2023-06-16 Julian Brown
gcc/
Revert:
* gimplify.cc (oacc_array_mapping_info): New struct.
(gimplify_omp_ctx): Add decl_data_clause hash map
This reverts commit 72733f6e6f6ec1bb9884fea8bfbebd3de03d9374.
2023-06-16 Julian Brown
gcc/
Revert:
* gimplify.cc (gimplify_adjust_omp_clauses_1): Raise error for
assumed-size arrays in map clauses for Fortran/OpenMP.
* omp-low.cc (lower_omp_target): Set the
This reverts commit c9cd2bac6a5127a01c6f47e5636a926ac39b5e21.
2023-06-16 Julian Brown
gcc/fortran/
Revert:
* trans-openmp.cc (gfc_omp_finish_clause): Guard addition of clauses for
pointers with DECL_P.
gcc/
Revert:
* gimplify.cc
This reverts commit 3385743fd2fa15a2a750a29daf6d4f97f5aad0ae.
2023-06-16 Julian Brown
Revert:
2022-02-24 Chung-Lin Tang
gcc/c/ChangeLog:
* c-typeck.cc (handle_omp_array_sections): Add handling for
creating array-reference base-pointer attachment clause.
gcc/cp
l apply shortly.
Thanks,
Julian
Julian Brown (14):
Revert "Assumed-size arrays with non-lexical data mappings"
Revert "Fix references declared in lexically-enclosing OpenACC data
region"
Revert "Fix implicit mapping for array slices on lexically-enclosing
dat
ested with offloading to NVPTX, and bootstrapped. OK?
Thanks,
Julian
2023-05-16 Julian Brown
gcc/c/
* c-parser.cc (c_parser_braced_init): Disallow array-shaping operator
in braced init.
(c_parser_conditional_expression): Disallow array-shaping operator in
c
floading to AMD GCN and bootstrapped. OK for mainline?
Thanks,
Julian
2023-05-12 Julian Brown
gcc/cp/
* decl2.cc (tree-inline.h): Include.
(static_init_fini_fns): Bump to four entries. Update comment.
(start_objects, start_partial_init_fini_fn): Add 'omp_targe
On Tue, 2 May 2023 12:29:22 +0200
Tobias Burnus wrote:
> On 29.04.23 12:57, Julian Brown wrote:
> > This patch moves several tests introduced by the following patch:
> >
> >https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616939.html
> >
>
> I believe
-pointer attaches, and a case where a pointer
was incorrectly dereferenced. Tests are also adjusted for vector-length
warnings on nvidia accelerators.
Tested with offloading to nvptx. OK?
2023-04-29 Julian Brown
PR fortran/109622
gcc/fortran/
* trans-openmp.cc
cases that "happened to work" previously where
the user attaches/detaches a pointer to array using a descriptor, and
(I think!) the "_data" field has offset zero, hence the same address as
the descriptor as a whole.
Tested with offloading to nvptx. OK?
Thanks,
Julian
2023
arget_memcpy_rect_worker. The method for doing this is described
in comments in the patch body.
Tested with offloading to nvptx. OK?
2023-04-27 Julian Brown
gcc/fortran/
* openmp.cc (resolve_omp_clauses): Don't forbid "target update" with
non-unit stride.
On Sun, 2 Apr 2023 11:38:42 +0200
Thomas Schwinge wrote:
> Hi Julian!
>
> On 2023-03-27T18:54:30+0000, Julian Brown
> wrote:
> > This patch adds support for running constructors and destructors for
> > static (file-scope) aggregates for C++ objects which are marked
sufficient to clone the
initialization statement for use in the on-target constructor/destructor
function. Instead we now use walk_tree with "copy_tree_body_r" and
appropriate configuration parameters.
Tested with offloading to AMD GCN. I will commit (to og12) shortly.
Julian
2023-04-05
ructs them properly, so they end up zero-initialised.
Tested with offloading to AMD GCN. I will apply to the og12 branch
shortly.
ChangeLog
2023-03-27 Julian Brown
gcc/cp/
* decl2.cc (priority_info): Add omp_tgt_initializations_p and
omp_tgt_destructions_p.
(sta
pointer to the node to various functions rather than the node itself.
This is needed by the following patch. There shouldn't be any functional
changes introduced by this patch itself.
2023-03-10 Julian Brown
gcc/c-family/
* c-common.h (expand_array_base, expand_com
ecognized as a single mapping group
as it should be. This patch fixes that.
(This is covered by a test case added in later patches in this series,
e.g. libgomp/testsuite/libgomp.c++/array-shaping-8.C.)
2023-03-10 Julian Brown
gcc/
* gimplify.cc (omp_get_attachment): Handle GOMP_MAP_D
roduced in those patches.
Further comments on individual patches. Tested with offloading to NVPTX.
OK (for stage 1)?
Thanks,
Julian
Julian Brown (3):
OpenMP: Fix "exit data" for array sections for ref-to-ptr components
OpenMP: Allow complete replacement of clause during map/t
On Fri, 23 Dec 2022 04:13:03 -0800
Julian Brown wrote:
> This patch adds support for "declare mapper" directives (and the
> "mapper" modifier on "map" clauses) for C. As for C++, arrays of
> custom-mapped objects are not supported yet.
Here's a sm
On Thu, 15 Dec 2022 16:46:50 +
Julian Brown wrote:
> On Thu, 15 Dec 2022 14:54:58 +
> Julian Brown wrote:
>
> > On Wed, 7 Dec 2022 17:31:20 +0100
> > Tobias Burnus wrote:
> >
> > > Hi Julian,
> > >
> > > I think this patch is O
refactoring done higher up this patch series.
2022-12-23 Julian Brown
gcc/c/
* c-decl.cc (c_omp_mapper_id, c_omp_mapper_decl, c_omp_mapper_lookup,
c_omp_extract_mapper_directive, c_omp_map_array_section,
c_omp_scan_mapper_bindings_r, c_omp_scan_mapper_bindings): New
#x27;t been attempted yet. (I think that means Jakub's concerns
about blow-up of element mappings won't be a problem until that's done.)
New tests added in {gcc,libgomp}/c-c++-common have been restricted to
C++ for now.
2022-11-30 Julian Brown
gcc/c-family/
*
tree code to represent OpenMP
array sections, and rejects array sections in certain expressions where
they make no sense (see new tests).
2022-12-22 Julian Brown
gcc/c/
* c-pretty-print.cc (c_pretty_printer::postfix_expression,
c_pretty_printer::expression): Add OMP_ARRA
P_MAP_TO_PSET dv%arr <-- deleted (array section mapping)
GOMP_MAP_ATTACH_DETACH dv%arr%data
For struct components, the GOMP_MAP_TO_PSET mapping is turned into
GOMP_MAP_RELEASE at gimplify time for "exit data" directives.
2022-12-15 Julian Brown
gcc/fortran/
* dep
on of the patch is rebased wrt. current-ish mainline and
refactorings that are now done higher up this patch series.
2022-12-23 Julian Brown
gcc/fortran/
* dump-parse-tree.cc (show_attr): Show omp_udm_artificial_var flag.
(show_omp_namelist): Support OMP_MAP_
er patch
named above.)
2022-11-30 Julian Brown
gcc/
* c-family/c-common.h (c_omp_region_type): Add C_ORT_ACC_TARGET.
(c_omp_address_inspector): Pass c_omp_region_type instead of "target"
bool.
* c-family/c-omp.cc (c_omp_address_inspector::expand_arra
ot;.
To get a pointer attachment with "enter data", you can do, e.g:
#pragma omp target enter data map(s.ptr, s.ptr[0:10])
#pragma omp target
{
...implicit use of 's'...
}
That is, once the attachment has happened, implicit mapping of 's
.
For now, multiple *constant* array indices are still supported (see
map-arrayofstruct-1.c). That could perhaps be addressed with a follow-up
patch, if necessary.
2022-10-18 Julian Brown
gcc/
* gimplify.cc (extract_base_bit_offset): Add VARIABLE_OFFSET parameter.
(omp_
This patch trivially adds braces and reindents the
OMP_CLAUSE_TO/OMP_CLAUSE_FROM/OMP_CLAUSE__CACHE_ stanza in
c_finish_omp_clause and finish_omp_clause, in preparation for the
following patch (to clarify the diff a little).
2022-09-13 Julian Brown
gcc/c/
* c-typeck.cc
tioned in that email. (Several of
the earlier patches are approved already, but dependent or semi-dependent
on other patches that haven't been yet.)
The last three patches have been retested (each, cumulatively) with
offloading to NVPTX.
OK?
Thanks,
Julian
Julian Brown (11):
OpenMP/
On Thu, 15 Dec 2022 14:54:58 +
Julian Brown wrote:
> On Wed, 7 Dec 2022 17:31:20 +0100
> Tobias Burnus wrote:
>
> > Hi Julian,
> >
> > I think this patch is OK; however, at least for gimplify.cc Jakub
> > needs to have a second look.
>
> Thank
ives I found when adding a new test
(map-subarray-8.f90).
(I'm not sure if this patch fixes all the problems you saw previously
with "alloc", etc. for enter/exit data -- there might still be work to
do there.)
Re-tested with offloading to NVPTX. Does this look OK now?
Th
1 - 100 of 805 matches
Mail list logo