Re: [Patch] Fortran: invoke.texi - link to OpenCoarrays.org + mention libcaf_single

2024-05-19 Thread Sandra Loosemore
On 5/19/24 02:01, Tobias Burnus wrote: I noticed that gfortran's coarray support did not link to the http://www.opencoarrays.org/ > [snip] diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi index 40e8e4a7cdd..78a2910b8d8 100644 --- a/gcc/fortran/invoke.texi +++

[PATCH 09/12] OpenMP: Extend dynamic selector support to declare variant

2024-05-04 Thread Sandra Loosemore
This patch extends the mechanisms previously added to support dynamic selectors in metavariant constructs to also apply to "declare variant". The front-end mechanisms used to handle "declare variant" via attributes attached to the function decls remain the same, but the gimplifier now uses the

[PATCH 07/12] OpenMP: Fortran front-end support for metadirectives.

2024-05-04 Thread Sandra Loosemore
irective-5.f90: New. * testsuite/libgomp.fortran/metadirective-6.f90: New. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore Co-Authored-By: Tobias Burnus Co-Authored-By: Paul-Antoine Arras --- gcc/fortran/decl.cc | 29 + gcc/fortran/dump-parse-tre

[PATCH 11/12] OpenMP: Update "declare target"/OpenMP context interaction

2024-05-04 Thread Sandra Loosemore
The code and test case previously implemented the OpenMP 5.0 spec, which said in section 2.3.1: "For functions within a declare target block, the target trait is added to the beginning of the set..." In OpenMP 5.1, this was changed to "For device routines, the target trait is added to the

[PATCH 10/12] OpenMP: Remove dead code from declare variant reimplementation

2024-05-04 Thread Sandra Loosemore
After reimplementing late resolution of "declare variant" to use the same mechanisms as metadirective, the declare_variant_alt and calls_declare_variant_alt flags on struct cgraph_node are no longer used by anything. For the purposes of marking functions that need late resolution, the

[PATCH 05/12] OpenMP: C++ front-end support for metadirectives

2024-05-04 Thread Sandra Loosemore
-metadirective-8.C: New. libgomp/ChangeLog * testsuite/libgomp.c++/metadirective-template-1.C: New. * testsuite/libgomp.c++/metadirective-template-2.C: New. * testsuite/libgomp.c++/metadirective-template-3.C: New. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra

[PATCH 06/12] OpenMP: common c/c++ testcases for metadirectives

2024-05-04 Thread Sandra Loosemore
. * testsuite/libgomp.c-c++-common/metadirective-4.c: New. * testsuite/libgomp.c-c++-common/metadirective-5.c: New. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore --- .../c-c++-common/gomp/metadirective-1.c | 52 + .../c-c++-common/gomp/metadirective-2.c

[PATCH 08/12] OpenMP: Reject other properties with kind(any)

2024-05-04 Thread Sandra Loosemore
The OpenMP spec says: "If trait-property any is specified in the kind trait-selector of the device selector set or the target_device selector sets, no other trait-property may be specified in the same selector set." GCC was not previously enforcing this restriction and several testcases included

[PATCH 04/12] OpenMP: C front end support for metadirectives

2024-05-04 Thread Sandra Loosemore
y: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore --- gcc/c-family/c-common.h | 4 +- gcc/c-family/c-gimplify.cc | 27 ++ gcc/c-family/c-omp.cc | 60 ++- gcc/c-family/c-pragma.cc| 1 + gcc

[PATCH 12/12] OpenMP: Update documentation of metadirective implementation status.

2024-05-04 Thread Sandra Loosemore
libgomp/ChangeLog * libgomp.texi (OpenMP 5.0): Mark metadirective and declare variant as implemented. (OpenMP 5.1): Mark target_device as supported. Add changed interaction between declare target and OpenMP context and dynamic selector support.

[PATCH 03/12] libgomp: runtime support for target_device selector

2024-05-04 Thread Sandra Loosemore
plugin function. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore --- include/cuda/cuda.h | 2 + libgomp/Makefile.am | 2 +- libgomp/Makefile.in | 5 +- libgomp/config/gcn/selector.c | 102 +++ libgomp/config

[PATCH 02/12] OpenMP: middle-end support for metadirectives

2024-05-04 Thread Sandra Loosemore
. (tree_function_versioning): Likewise. * tree-ssa-operands.cc: Include omp-general.h. (operands_scanner::parse_ssa_operands): Handle GIMPLE_OMP_METADIRECTIVE. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore Co-Authored-By: Marcel Vollweiler --- gcc

[PATCH 01/12] OpenMP: metadirective tree data structures and front-end interfaces

2024-05-04 Thread Sandra Loosemore
re_variant): Update calls to omp_check_context_selector and omp_context_selector_matches. * types.def (BT_FN_BOOL_INT_CONST_PTR_CONST_PTR_CONST_PTR): New. Co-Authored-By: Kwok Cheung Yeung Co-Authored-By: Sandra Loosemore --- gcc/Makefile.in | 2 +- gcc/builtin

[PATCH 00/12] OpenMP: Metadirective support + "declare variant" improvements

2024-05-04 Thread Sandra Loosemore
sed with follow-up patches. This is already a large and complicated patch set, and I hope that by submitting it for review early in stage 1 it will be possible to get at least some parts of it committed in a timely manner and reduce the burden of maintaining these patches out of tree. -Sandra Sandra Loos

[PATCH, obvious] Fix for ICE in tree-nested.cc

2024-05-03 Thread Sandra Loosemore
OMP_TARGET in the same way. I think this patch is a candidate for backporting to the GCC 14 branch once it is unfrozen after the release, too. -SandraFrom 001d166819525dcef43b980298c2f85af77cd8ad Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Mon, 22 Apr 2024 18:24:25 + Subject: [PATC

[committed, wwwdocs] gcc-14/changes.html: nios2 target is obsolete

2024-04-18 Thread Sandra Loosemore
I've committed the attached patch, per https://gcc.gnu.org/pipermail/gcc/2024-April/243749.html -SandraFrom a6afbd07ee3d669dc6ac396d68a99926a30818f9 Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Mon, 15 Apr 2024 17:17:35 + Subject: [committed, wwwdocs] gcc-14/changes.html: nios2

[committed] Add nios2*-*-* to the list of obsolete targets

2024-04-18 Thread Sandra Loosemore
I've committed the attach patch, per https://gcc.gnu.org/pipermail/gcc/2024-April/243749.html -SandraFrom 71ba5a721749174815dec712d113f3afb251deda Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Mon, 8 Apr 2024 14:36:08 + Subject: [committed] Add nios2*-*-* to the list of obsolete

Re: [PATCH] docs: Use @var{S} etc. in Spec File invoke.texi documentation

2024-03-27 Thread Sandra Loosemore
On 3/27/24 04:57, Jakub Jelinek wrote: Hi! We got internally a question about the Spec File syntax, misunderstanding what is the literal syntax and what are the placeholder variables in the syntax descriptions. The following patch attempts to use @var{S} etc. instead of just S to clarify it

Re: [PATCH v7] C, ObjC: Add -Wunterminated-string-initialization

2024-03-05 Thread Sandra Loosemore
On 3/5/24 13:33, Alejandro Colomar wrote: Warn about the following: char s[3] = "foo"; Initializing a char array with a string literal of the same length as the size of the array is usually a mistake. Rarely is the case where one wants to create a non-terminated character sequence from

Re: [Patch] invoke.texi: Add note that -foffload= does not affect device detection

2024-03-03 Thread Sandra Loosemore
On 3/1/24 17:29, Sandra Loosemore wrote: On 3/1/24 08:23, Tobias Burnus wrote: Aside: Shouldn't all the HTML documents start with a and before the table of content? Currently, it has:    Top (GNU libgomp) and the body starts with    Short Table of Contents I think this is a bug

Re: [Patch] invoke.texi: Add note that -foffload= does not affect device detection

2024-03-01 Thread Sandra Loosemore
On 3/1/24 08:23, Tobias Burnus wrote: Not very often, but do I keep running into issues (fails, segfaults) related to testing programs compiled with a GCC without offload configured and then using the system libraries. - That's equivalent to having the system compiler (or any offload compiler)

Re: [PATCH v5 RESEND] C, ObjC: Add -Wunterminated-string-initialization

2024-02-26 Thread Sandra Loosemore
On 2/26/24 09:19, Joseph Myers wrote: On Mon, 26 Feb 2024, Alejandro Colomar wrote: The idea seems reasonable, but the patch needs documentation for the new option in invoke.texi. Thanks! Will do. I don't see an obvious order in that file. Where would you put the option? Do you want me

Re: [PATCH v4 5/5] Add documentation for musttail attribute

2024-02-03 Thread Sandra Loosemore
On 2/2/24 02:09, Andi Kleen wrote: gcc/ChangeLog: * doc/extend.texi: Document [[musttail]] --- gcc/doc/extend.texi | 16 1 file changed, 16 insertions(+) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 142e41ab8fbf..866f6c4a9fed 100644 ---

[Committed] MAINTAINERS: Update my e-mail address.

2024-02-01 Thread Sandra Loosemore
Clifton nds32 port Chung-Ju Wu nds32 port Shiva Chen nios2 port Chung-Lin Tang -nios2 port Sandra Loosemore +nios2 port Sandra Loosemore nvptx port Tom de Vries

[COMMITTED, obvious] Sort warning options in c-family/c.opt.

2024-01-22 Thread Sandra Loosemore
In spite of the plea "Please try to keep this file in ASCII collating order" at the top of the file, the sorting of the entries for the various -Wfoo options had increased in entropy. This made it hard to correlate them against e.g. the list of options enabled by -Wall in the manual (see

[COMMITTED] Correct lists of options enabled by -Wall and -Wextra [PR90463]

2024-01-22 Thread Sandra Loosemore
gcc/ChangeLog PR c++/90463 * doc/invoke.texi (Warning Options): Correct lists of options enabled by -Wall and -Wextra by checking against common.opt and c-family/c.opt. --- gcc/doc/invoke.texi | 79 - 1 file changed, 50

[COMMITTED] Make the manual clearer about what options -Wunused enables [PR90464]

2024-01-21 Thread Sandra Loosemore
gcc/ChangeLog PR c++/90464 * doc/invoke.texi (Warning Options): Document that -Wunused-parameter isn't enabled by -Wunused unless -Wextra is provided, and that -Wunused does enable -Wunused-const-variable=1 for C. Clarify that -Wunused doesn't enable

[COMMITTED] Clean up examples for -Wdangling-pointer [PR109708]

2024-01-20 Thread Sandra Loosemore
gcc/ChangeLog PR c/109708 * doc/invoke.texi (Warning Options): Fix broken example and clean up/reorganize the others. Also describe what the short-form options mean. --- gcc/doc/invoke.texi | 56 +++-- 1 file changed, 34

[COMMITTED] Correct documentation for -Warray-parameter [PR102998]

2024-01-20 Thread Sandra Loosemore
gcc/ChangeLog PR c/102998 * doc/invoke.texi (Option Summary): Add -Warray-parameter. (Warning Options): Correct/edit discussion of -Warray-parameter to make the first example less confusing, and fill in missing info. --- gcc/doc/invoke.texi | 24

[COMMITTED] More precise documentation for cleanup attribute [PR110029]

2024-01-18 Thread Sandra Loosemore
gcc/ChangeLog PR c/110029 * doc/extend.texi (Common Variable Attributes): Explain what happens when multiple variables with cleanups are in the same scope. --- gcc/doc/extend.texi | 5 + 1 file changed, 5 insertions(+) diff --git a/gcc/doc/extend.texi

[COMMITTED] Improve documentation of noinline and noipa attributes [PR108470]

2024-01-18 Thread Sandra Loosemore
gcc/ChangeLog PR ipa/108470 * doc/extend.texi (Common Function Attributes): Document that noinline also disables some interprocedural optimizations and improve flow to the part about using inline asm instead to disable calls from being optimized away

Re: [PATCH] Remove remnant of removed Cygwin options from invoke.texi [PR108521]

2024-01-18 Thread Sandra Loosemore
On 1/18/24 12:41, Sandra Loosemore wrote: From: Brian Inglis The -mcygwin option for x86 Windows was removed in 2010 by commit 3edeb30d044a4852881c34229e618b34f95b0d9e, but this reference was overlooked. gcc/ChangeLog PR target/108521 * doc/invoke.texi (Option Summary): Remove

[PATCH] Remove remnant of removed Cygwin options from invoke.texi [PR108521]

2024-01-18 Thread Sandra Loosemore
From: Brian Inglis The -mcygwin option for x86 Windows was removed in 2010 by commit 3edeb30d044a4852881c34229e618b34f95b0d9e, but this reference was overlooked. gcc/ChangeLog PR target/108521 * doc/invoke.texi (Option Summary): Remove -mcygwin and -mno-cygwin from x86

[COMMITTED] Restore documentation for const/volatile functions [PR107942]

2024-01-18 Thread Sandra Loosemore
In r5-7698-g8648c55f3b703a I accidentally removed the documentation of GCC's special interpretation of const/volatile qualifiers on functions from the function attributes section, thinking this was just a bit-rotten leftover from old versions of GCC. PR107942 points out that this functionality is

[COMMITTED] Document negative forms of -Wtsan and -Wxor-used-as-pow [PR110847]

2024-01-17 Thread Sandra Loosemore
These warnings are enabled by default, thus the manual should document the -no form instead of the positive form. gcc/ChangeLog PR middle-end/110847 * doc/invoke.texi (Option Summary): Document negative forms of -Wtsan and -Wxor-used-as-pow. (Warning Options):

[COMMITTED] Re-alphabetize attribute tables in extend.texi.

2024-01-17 Thread Sandra Loosemore
These sections used to be alphabetized, but when I was working on the fix for PR111659 I noticed documentation for some newer attributes had been inserted at random places in the tables instead of maintaining alphabetical order. There's no change to content here, just moving blocks of text

[COMMITTED] Clean up documentation for -Wstrict-flex-arrays [PR111659]

2024-01-17 Thread Sandra Loosemore
gcc/ChangeLog PR middle-end/111659 * doc/extend.texi (Common Variable Attributes): Fix long lines in documentation of strict_flex_array + other minor copy-editing. Add a cross-reference to -Wstrict-flex-arrays. * doc/invoke.texi (Option Summary): Fix

[COMMITTED] Move docs for -Wuse-after-free and -Wuseless-cast [PR111693]

2024-01-16 Thread Sandra Loosemore
These options were categorized as C++ options, but they apply to all C-family languages. gcc/ChangeLog PR c/111693 * doc/invoke.texi (Option Summary): Move -Wuseless-cast from C++ Language Options to Warning Options. Add entry for -Wuse-after-free. (C++

[COMITTED] Tidy documentation for BPF builtins [PR112973]

2024-01-16 Thread Sandra Loosemore
gcc/Changelog PR target/112973 * doc/extend.texi (BPF Built-in Functions): Wrap long lines and give the section a light copy-editing pass. --- gcc/doc/extend.texi | 38 -- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git

Re: [Patch] libgomp.texi: Document omp_pause_resource{,_all} and omp_target_memcpy* (was: [Patch] libgomp.texi: Document omp_pause_resource{,_all})

2024-01-14 Thread Sandra Loosemore
On 1/14/24 16:15, Tobias Burnus wrote: +@node omp_target_memcpy +@subsection @code{omp_target_memcpy} -- Copy data between devices +@table @asis +@item @emph{Description}: +This routine tests copies @var{length} of bytes of data from the device +identified by device number @var{src_device_num}

Re: [Patch] libgomp.texi: Document omp_pause_resource{,_all}

2024-01-14 Thread Sandra Loosemore
On 1/14/24 07:26, Tobias Burnus wrote: This documents two more OpenMP (5.0) routines, omp_pause_resource and omp_pause_resource_all. Comments, remarks, suggestions - to the patch or the documentation in general? I have some minor nits about typos and copy-editing. I assume the formatting

Re: [PATCH v2]: gcc/doc/extend.texi: Update builtin example for __builtin_FILE, __builtin_LINE __builtin_FUNCTION

2024-01-13 Thread Sandra Loosemore
On 1/10/24 14:28, Jonny Grant wrote: > > 2024-01-10 Jonathan Grant > gcc/ChangeLog: >* doc/extend.texi: Update builtin example for __builtin_FILE > __builtin_LINE __builtin_FUNCTION. > > > >>From 66290eb477dd1a99310ad9972c45391c2a87c1c7 Mon Sep 17 00:00:00 2001 > From: Jonathan Grant >

[Committed] libgcc, nios2: Fix exception handling on nios2 with -fpic

2024-01-11 Thread Sandra Loosemore
Exception handling on nios2-linux-gnu with -fpic has been broken since revision 790854ea7670f11c14d431c102a49181d2915965, "Use _dl_find_object in _Unwind_Find_FDE". For whatever reason, this doesn't work on nios2. Nios2 uses the GOT address as the base for DW_EH_PE_datarel relocations in PIC;

[PATCH 6/8] OpenMP: common c/c++ testcases for metadirectives

2024-01-06 Thread Sandra Loosemore
/metadirective-3.c: New. * testsuite/libgomp.c-c++-common/metadirective-4.c: New. * testsuite/libgomp.c-c++-common/metadirective-5.c: New. Co-Authored-By: Sandra Loosemore --- .../c-c++-common/gomp/metadirective-1.c | 52 + .../c-c++-common/gomp/metadirective-2.c

[PATCH 8/8] OpenMP: Update documentation of metadirective implementation status.

2024-01-06 Thread Sandra Loosemore
libgomp/ChangeLog * libgomp.texi (OpenMP 5.0): Mark metadirective as implemented. (OpenMP 5.1): Mark target_device as partially supported. (OpenMP 5.2): Mark otherwise clause as supported, note that default is also still accepted. --- libgomp/libgomp.texi | 15

[PATCH 4/8] OpenMP: C front end support for metadirectives

2024-01-06 Thread Sandra Loosemore
stant user condition. (c_parser_omp_context_selector_specification): Add metadirective_p flag. (c_parser_finish_omp_declare_variant): Adjust call. (analyze_metadirective_body): New. (c_parser_omp_metadirective): New. gcc/testsuite/ChangeLog * gcc.dg/gomp/metadirective-1.c: New. Co

[PATCH 5/8] OpenMP: C++ front-end support for metadirectives

2024-01-06 Thread Sandra Loosemore
. Co-Authored-By: Sandra Loosemore --- gcc/cp/parser.cc | 524 +- gcc/cp/parser.h | 7 + gcc/cp/pt.cc | 118 .../g++.dg/gomp/attrs-metadirective-1.C | 40 ++ .../g++.dg/gomp

[PATCH 7/8] OpenMP: Fortran front-end support for metadirectives.

2024-01-06 Thread Sandra Loosemore
New. * testsuite/libgomp.fortran/metadirective-4.f90: New. * testsuite/libgomp.fortran/metadirective-5.f90: New. * testsuite/libgomp.fortran/metadirective-6.f90: New. Co-Authored-By: Sandra Loosemore Co-Authored-By: Tobias Burnus Co-Authored-By: Paul

[PATCH 3/8] libgomp: runtime support for target_device selector

2024-01-06 Thread Sandra Loosemore
From: Kwok Cheung Yeung This patch implements the libgomp runtime support for the dynamic target_device selector via the GOMP_evaluate_target_device function. include/ChangeLog * cuda/cuda.h (CUdevice_attribute): Add definitions for CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR

[PATCH 2/8] OpenMP: middle-end support for metadirectives

2024-01-06 Thread Sandra Loosemore
. (operands_scanner::parse_ssa_operands): Handle GIMPLE_OMP_METADIRECTIVE. Co-Authored-By: Sandra Loosemore Co-Authored-By: Marcel Vollweiler --- gcc/cgraph.h | 3 + gcc/cgraphclones.cc| 1 + gcc/gimple-low.cc | 36 gcc/gimple-pretty-print.cc | 64

[PATCH 1/8] OpenMP: metadirective tree data structures and front-end interfaces

2024-01-06 Thread Sandra Loosemore
or_patches to pass additional arguments. * types.def (BT_FN_BOOL_INT_CONST_PTR_CONST_PTR_CONST_PTR): New. Co-Authored-By: Sandra Loosemore --- gcc/Makefile.in | 2 +- gcc/builtin-types.def | 2 + gcc/c/c-parser.cc | 4 +- gcc/cp/decl.cc | 2

[PATCH 0/8] OpenMP: Implement metadirective support

2024-01-06 Thread Sandra Loosemore
++ testcases for metadirectives OpenMP: Fortran front-end support for metadirectives. Sandra Loosemore (1): OpenMP: Update documentation of metadirective implementation status. gcc/Makefile.in | 2 +- gcc/builtin-types.def | 2 + gcc/c

[committed, obvious] OpenMP: trivial cleanups to omp-general.cc

2024-01-03 Thread Sandra Loosemore
gcc/ChangeLog * omp-general.cc: Fix comment typos and misplaced/confusing comments. Delete redundant include of omp-general.h. --- gcc/omp-general.cc | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/gcc/omp-general.cc b/gcc/omp-general.cc

Re: [patch] libgomp.texi: Document omp_display_env

2024-01-03 Thread Sandra Loosemore
On 1/3/24 11:31, Tobias Burnus wrote: Another small step in my side project of documenting all OpenMP routines in libgomp.texi Here, only 'omp_display_env' is added. (New since OpenMP 5.1 but since a long time in GCC, some fineprint in both the implementation and in the documentation is based

[Committed, obvious] Testsuite: Fix failures in g++.dg/analyzer/placement-new-size.C

2023-12-21 Thread Sandra Loosemore
This testcase was failing on uses of int8_t, int64_t, etc without including . gcc/testsuite/ChangeLog * g++.dg/analyzer/placement-new-size.C: Include . Also add missing newline to end of file. --- gcc/testsuite/g++.dg/analyzer/placement-new-size.C | 3 ++- 1 file changed, 2

Re: [PATCH v26 00/23] Optimize type traits compilation performance

2023-12-19 Thread Sandra Loosemore
On 12/6/23 22:11, Ken Matsui wrote: This patch series optimizes type traits compilation performance by implementing built-in type traits and using them in libstdc++. I'm finding that all the new g++.dg/ext/is_*.C testcases added by this patch series are failing due to the "#include ". If

[PATCH 5/5] OpenMP: Add prettyprinter support for context selectors.

2023-12-17 Thread Sandra Loosemore
With the change to use enumerators instead of strings to represent context selector and selector-set names, the default tree-list output for dumping selectors is less helpful for debugging and harder to use in test cases. This patch adds support for dumping context selectors using syntax similar

[PATCH V4 3/5] OpenMP: Use enumerators for names of trait-sets and traits

2023-12-17 Thread Sandra Loosemore
This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags. The tags are stored in the same place in the TREE_LIST structure (OMP_TSS_ID or OMP_TS_ID) and are

Re: [PATCH V3 3/4] OpenMP: Use enumerators for names of trait-sets and traits

2023-12-17 Thread Sandra Loosemore
On 12/12/23 05:05, Tobias Burnus wrote: Hi Sandra, On 07.12.23 16:52, Sandra Loosemore wrote: This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags

Re: [PATCH] extend.texi: Mark builtin arguments with @var{...}

2023-12-10 Thread Sandra Loosemore
On 12/4/23 00:36, Jakub Jelinek wrote: On Fri, Dec 01, 2023 at 10:43:57AM -0700, Sandra Loosemore wrote: On 12/1/23 10:33, Jakub Jelinek wrote: Shall we tweak that somehow? If the argument names are unimportant, perhaps it is fine to leave that out, but shouldn't we always use @var

[PATCH V3 3/4] OpenMP: Use enumerators for names of trait-sets and traits

2023-12-07 Thread Sandra Loosemore
This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags. The tags are stored in the same place in the TREE_LIST structure (OMP_TSS_ID or OMP_TS_ID) and are

[PATCH V3 4/4] OpenMP: Permit additional selector properties

2023-12-07 Thread Sandra Loosemore
This patch adds "hpe" to the known properties for the "vendor" selector, and support for "acquire" and "release" for "atomic_default_mem_order". gcc/ChangeLog * omp-general.cc (vendor_properties): Add "hpe". (atomic_default_mem_order_properties): Add "acquire" and "release".

[PATCH V3 1/4] OpenMP: Introduce accessor macros and constructors for context selectors.

2023-12-07 Thread Sandra Loosemore
This patch hides the underlying nested TREE_LIST structure of context selectors behind accessor macros that have more meaningful names than the generic TREE_PURPOSE/TREE_VALUE accessors. There is a slight change to the representation in that the score expression in trait-selectors has a

[PATCH V3 2/4] OpenMP: Unify representation of name-list properties.

2023-12-07 Thread Sandra Loosemore
Previously, name-list properties specified as identifiers were stored in the TREE_PURPOSE/OMP_TP_NAME slot, while those specified as strings were stored in the TREE_VALUE/OMP_TP_VALUE slot. This patch puts both representations in OMP_TP_VALUE with a magic cookie in OMP_TP_NAME. gcc/ChangeLog

[PATCH V3 0/4] OpenMP: Improve data abstractions for context selectors

2023-12-07 Thread Sandra Loosemore
instead of the translate phase, where I'd had it before. I think this is a cleaner design anyway as it allows getting rid of the duplicate set of allowed names in the Fortran front end and sharing the same tables used everywhere else. -Sandra Sandra Loosemore (4): OpenMP: Introduce accessor

Re: [PATCH] extend.texi: Fix up defbuiltin* with spaces in return type

2023-12-01 Thread Sandra Loosemore
On 12/1/23 10:33, Jakub Jelinek wrote: On Fri, Dec 01, 2023 at 10:04:38AM -0700, Sandra Loosemore wrote: Thanks, this looks good to me. I think I also noticed this weird formatting in passing recently when I was looking for something else and did not have time to track it down myself

Re: [PATCH] extend.texi: Fix up defbuiltin* with spaces in return type

2023-12-01 Thread Sandra Loosemore
On 12/1/23 03:26, Jakub Jelinek wrote: Hi! In https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fstdc_005fbit_005ffloor>> I've noticed that while e.g. __builtin_stdc_bit_floor builtin is properly rendered in bold and bigger size, for the

[PATCH V2 3/3] OpenMP: Use enumerators for names of trait-sets and traits

2023-11-22 Thread Sandra Loosemore
This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags. The tags are stored in the same place in the TREE_LIST structure (OMP_TSS_ID or OMP_TS_ID) and are

Re: [PATCH 3/3] OpenMP: Use enumerators for names of trait-sets and traits

2023-11-21 Thread Sandra Loosemore
On 11/19/23 02:21, Sandra Loosemore wrote: This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags. The tags are stored in the same place in the TREE_LIST

[PATCH 3/3] OpenMP: Use enumerators for names of trait-sets and traits

2023-11-19 Thread Sandra Loosemore
This patch introduces enumerators to represent trait-set names and trait names, which makes it easier to use tables to control other behavior and for switch statements to dispatch on the tags. The tags are stored in the same place in the TREE_LIST structure (OMP_TSS_ID or OMP_TS_ID) and are

[PATCH 0/3] OpenMP: Improve data abstractions for context selectors

2023-11-19 Thread Sandra Loosemore
like to get feedback on the general direction before continuing too much farther with this, and adapting the metadirective patches to match it. -Sandra Sandra Loosemore (3): OpenMP: Introduce accessor macros and constructors for context selectors. OpenMP: Unify representation of name-list prope

[PATCH 1/3] OpenMP: Introduce accessor macros and constructors for context selectors.

2023-11-19 Thread Sandra Loosemore
This patch hides the underlying nested TREE_LIST structure of context selectors behind accessor macros that have more meaningful names than the generic TREE_PURPOSE/TREE_VALUE accessors. There is a slight change to the representation in that the score expression in trait-selectors has a

[PATCH 2/3] OpenMP: Unify representation of name-list properties.

2023-11-19 Thread Sandra Loosemore
Previously, name-list properties specified as identifiers were stored in the TREE_PURPOSE/OMP_TP_NAME slot, while those specified as strings were stored in the TREE_VALUE/OMP_TP_VALUE slot. This patch puts both representations in OMP_TP_VALUE with a magic cookie in OMP_TP_NAME. gcc/ChangeLog

Re: [patch] libgomp.texi: Update "Enabling OpenMP" + OpenACC / invoke.texi: -fopenacc/-fopenmp update (was: Re: [patch] libgomp.texi: Update "Enabling OpenMP")

2023-10-15 Thread Sandra Loosemore
On 10/15/23 04:42, Tobias Burnus wrote: Updated patch attached. This version looks OK to me. -Sandra

Re: [patch] libgomp.texi: Improve "OpenACC Environment Variables"

2023-10-15 Thread Sandra Loosemore
On 10/15/23 04:40, Tobias Burnus wrote: Hi Sandra, thanks for the comments. On 15.10.23 00:46, Sandra Loosemore wrote: +Semicolon separated list of dynamic libraries to be loaded as profiling library. s/Semicolon separated/Semicolon-separated/ There's also a semantic issue with "

Re: [patch] libgomp.texi: Use present not future tense (was: [Patch] libgomp.texi: Clarify OMP_TARGET_OFFLOAD=mandatory)

2023-10-15 Thread Sandra Loosemore
On 10/15/23 04:39, Tobias Burnus wrote: @@ -905,8 +905,8 @@ For @code{omp_sched_auto} the @var{chunk_size} argument is ignored. @subsection @code{omp_get_schedule} -- Obtain the runtime scheduling method @table @asis @item @emph{Description}: -Obtain the runtime scheduling method. The

Re: [patch] libgomp.texi: Improve "OpenACC Environment Variables"

2023-10-14 Thread Sandra Loosemore
On 10/14/23 13:51, Tobias Burnus wrote: @@ -5003,6 +5001,17 @@ The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes. @node ACC_DEVICE_TYPE @section @code{ACC_DEVICE_TYPE} @table @asis +@item @emph{Description}: +Control the default device type to use when executing compute

Re: [patch] libgomp.texi: Update "Enabling OpenMP"

2023-10-14 Thread Sandra Loosemore
On 10/14/23 13:43, Tobias Burnus wrote: When browsing libgomp doc, I came across https://gcc.gnu.org/onlinedocs/libgomp/Enabling-OpenMP.html>> First, I found especially the Fortran part difficult to read. Secondly, it missed the C++ attribute syntax. And I also missed a reference to

Re: [Patch] libgomp.texi: Clarify OMP_TARGET_OFFLOAD=mandatory

2023-10-14 Thread Sandra Loosemore
On 10/12/23 10:37, Tobias Burnus wrote: @@ -3133,15 +3134,25 @@ variable can be set to one of three values - @code{MANDATORY}, @code{DISABLED} or @code{DEFAULT}. If set to @code{MANDATORY}, the program will terminate with an error if -the offload device is not present or is not supported.

Re: [Patch] libgomp.texi: Note to 'Memory allocation' sect and missing mem-memory routines

2023-10-14 Thread Sandra Loosemore
On 10/12/23 04:53, Tobias Burnus wrote: libgomp.texi: Note to 'Memory allocation' sect and missing mem-memory routines This commit completes the documentation of the OpenMP memory-management routines, except for the unimplemented TR11 additions. It also makes clear in the 'Memory allocation'

[COMMITTED] Docs: Minimally document standard C/C++ attribute syntax.

2023-10-06 Thread Sandra Loosemore
gcc/ChangeLog: * doc/extend.texi (Function Attributes): Mention standard attribute syntax. (Variable Attributes): Likewise. (Type Attributes): Likewise. (Attribute Syntax): Likewise. --- gcc/doc/extend.texi | 74

Re: RFC: attributes documentation

2023-10-03 Thread Sandra Loosemore
On 10/3/23 08:19, Joseph Myers wrote: On Mon, 2 Oct 2023, Sandra Loosemore wrote: Going beyond that, though, I think we should also document that the standard syntax is now the preferred way to do it, and change the examples (except for the parts documenting the old syntax) to use the new

RFC: attributes documentation

2023-10-02 Thread Sandra Loosemore
When I was working on something else recently, I realized that the GCC manual had nothing in its attributes section saying that you could use the various documented GCC extension attributes with C/C++ standard attribute syntax too, or how (you have to use the "gnu::" prefix); I ended up finding

[WIP 2/4] OpenMP: Language-independent parts of loop transform support.

2023-10-01 Thread Sandra Loosemore
(Optimize Options): Document the new parameters. Co-Authored-By: Sandra Loosemore --- gcc/Makefile.in|1 + gcc/doc/invoke.texi|9 + gcc/gimple-pretty-print.cc |6 + gcc/gimple.h |1 + gcc/gimplify.cc| 65 +- gcc/omp-general.cc

[WIP 0/4] OpenMP: support for loop transformations

2023-10-01 Thread Sandra Loosemore
This series of patches is an update of Frederik's previous loop transformation patch set, previously posted here: https://gcc.gnu.org/pipermail/gcc-patches/2023-March/614564.html that has been updated to resolve conflicts with my set of imperfectly-nested loops patches and other changes on

[WIP 1/4] openacc: Rename OMP_CLAUSE_TILE to OMP_CLAUSE_OACC_TILE

2023-10-01 Thread Sandra Loosemore
From: Frederik Harwath OMP_CLAUSE_TILE will be used for the OpenMP 5.1 loop transformation construct "omp tile". gcc/ChangeLog: * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TILE. * tree.h (OMP_CLAUSE_TILE_LIST): Rename to ... (OMP_CLAUSE_OACC_TILE_LIST): ...

[PATCH, obvious] OpenMP: GIMPLE_OMP_STRUCTURED_BLOCK bug fix

2023-09-26 Thread Sandra Loosemore
xed an ICE in the newly-added tests for that. This is clearly just a bug in existing code unrelated to the new functionality, though. -Sandra commit 4c3db8cf0611fa99886d698b62102ba15058776f Author: Sandra Loosemore Date: Wed Sep 27 03:21:43 2023 + OpenMP: GIMPLE_OMP_STRUCTURED_BLO

Re: [Patch] libgomp.texi: Fix ICV var name, document some memory management routines

2023-09-07 Thread Sandra Loosemore
On 9/7/23 02:56, Tobias Burnus wrote: Main reason was to fix an ICV value; as collateral change, I also added documentation for some of the memory-management functions. Comments, suggestions? If not, I will commit it soon. I only have one nit: +@node omp_destroy_allocator +@subsection

[PATCH] OpenMP: Fix ICE in fixup_blocks_walker [PR111274]

2023-09-07 Thread Sandra Loosemore
This ICE was caused by an invalid assumption that all BIND_EXPRs have a non-null BIND_EXPR_BLOCK. In C++ these do exist and are used for temporaries introduced in expressions that are not full-expressions. Since they have no block to fix up, the traversal can just ignore these tree nodes.

Re: [PATCH] Darwin: homogenize spelling of macOS

2023-08-31 Thread Sandra Loosemore
On 8/31/23 05:27, Iain Sandoe wrote: Hi FX, +Sandra On 31 Aug 2023, at 12:13, FX Coudert wrote: This patch homogenizes to some extent the use of “Mac OS X” or “OS X” or “Mac OS” in the gcc/ folder to “macOS”, which is the modern way of writing it. It is not a global replacement though,

[COMMITTED V3 5/6] OpenMP: Fortran support for imperfectly-nested loops

2023-08-25 Thread Sandra Loosemore
OpenMP 5.0 removed the restriction that multiple collapsed loops must be perfectly nested, allowing "intervening code" (including nested BLOCKs) before or after each nested loop. In GCC this code is moved into the inner loop body by the respective front ends. In the Fortran front end, most of

[COMMITTED V3 4/6] OpenMP: New C/C++ testcases for imperfectly nested loops.

2023-08-25 Thread Sandra Loosemore
gcc/testsuite/ChangeLog * c-c++-common/gomp/imperfect-attributes.c: New. * c-c++-common/gomp/imperfect-badloops.c: New. * c-c++-common/gomp/imperfect-blocks.c: New. * c-c++-common/gomp/imperfect-extension.c: New. * c-c++-common/gomp/imperfect-gotos.c: New.

[COMMITTED V3 2/6] OpenMP: C front end support for imperfectly-nested loops

2023-08-25 Thread Sandra Loosemore
OpenMP 5.0 removed the restriction that multiple collapsed loops must be perfectly nested, allowing "intervening code" (including nested BLOCKs) before or after each nested loop. In GCC this code is moved into the inner loop body by the respective front ends. This patch changes the C front end

[COMMITTED V3 6/6] OpenMP: Document support for imperfectly-nested loops.

2023-08-25 Thread Sandra Loosemore
libgomp/ChangeLog * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done. --- libgomp/libgomp.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 5c91163893f..4aad8cc52f4 100644 --- a/libgomp/libgomp.texi +++

[COMMITTED V3 3/6] OpenMP: C++ support for imperfectly-nested loops

2023-08-25 Thread Sandra Loosemore
OpenMP 5.0 removed the restriction that multiple collapsed loops must be perfectly nested, allowing "intervening code" (including nested BLOCKs) before or after each nested loop. In GCC this code is moved into the inner loop body by the respective front ends. This patch changes the C++ front end

[COMMITTED V3 1/6] OpenMP: Add OMP_STRUCTURED_BLOCK and GIMPLE_OMP_STRUCTURED_BLOCK.

2023-08-25 Thread Sandra Loosemore
In order to detect invalid jumps in and out of intervening code in imperfectly-nested loops, the front ends need to insert some sort of marker to identify the structured block sequences that they push into the inner body of the loop. The error checking happens in the diagnose_omp_blocks pass,

[COMMITTED V3 0/6] Support for imperfectly-nested loops

2023-08-25 Thread Sandra Loosemore
. Part 5 (Fortran) also includes the whitespace fix Tobias pointed out, and part 6 (documentation) is new. -Sandra Sandra Loosemore (6): OpenMP: Add OMP_STRUCTURED_BLOCK and GIMPLE_OMP_STRUCTURED_BLOCK. OpenMP: C front end support for imperfectly-nested loops OpenMP: C++ support for imperfectly

Re: [PATCH V2 2/5] OpenMP: C front end support for imperfectly-nested loops

2023-08-22 Thread Sandra Loosemore via Gcc-patches
On 8/22/23 07:23, Jakub Jelinek wrote: diff --git a/gcc/testsuite/c-c++-common/goacc/collapse-1.c b/gcc/testsuite/c-c++-common/goacc/collapse-1.c index 11b14383983..0feac8f8ddb 100644 --- a/gcc/testsuite/c-c++-common/goacc/collapse-1.c +++ b/gcc/testsuite/c-c++-common/goacc/collapse-1.c @@

[OG13, committed 2/3] OpenMP: C++ attribute syntax fixes/testcases for "declare mapper"

2023-08-18 Thread Sandra Loosemore
c/c-family/ChangeLog.omp @@ -1,3 +1,7 @@ +2023-08-18 Sandra Loosemore + + * c-omp.cc (c_omp_directives): Uncomment "declare mapper" entry. + 2023-08-10 Julian Brown * c-common.h (c_omp_region_type): Add C_ORT_UPDATE and C_ORT_OMP_UPDATE diff --git a/gcc/c-family/c-omp.cc b/g

[OG13, committed 3/3] OpenMP: C++ attribute syntax fixes/testcases for loop transformations

2023-08-18 Thread Sandra Loosemore
create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-inner-3.C diff --git a/gcc/cp/ChangeLog.omp b/gcc/cp/ChangeLog.omp index 1b2d71422d8..fe5ef67a7ad 100644 --- a/gcc/cp/ChangeLog.omp +++ b/gcc/cp/ChangeLog.omp @@ -1,3 +1,18 @@ +2023-08-18 Sandra Loosemore

  1   2   3   4   5   6   7   8   9   10   >