Re: [PATCH] Avoid loading an undefined value in the ranger_cache constructor.

2021-06-17 Thread Maxim Kuvyrkov via Gcc-patches
> On 16 Jun 2021, at 20:14, Andrew MacLeod wrote: > > On 6/16/21 5:41 AM, Maxim Kuvyrkov wrote: >> >>> + m_new_value_p = state; >>> + return ret; >>> } >>>// Dump the caches for basic block BB to file F. >> Thanks, >> >> -- >> Maxim Kuvyrkov >> https://www.linaro.org >> > Let me know if

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-17 Thread Trevor Saunders
On Thu, Jun 17, 2021 at 08:03:53AM +0200, Richard Biener wrote: > On Wed, Jun 16, 2021 at 6:01 PM Martin Sebor wrote: > > > > On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: > > > Richard Biener via Gcc-patches writes: > > >> On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders > > >> w

Re: [PATCH] Add debugging helpers for ranger.

2021-06-17 Thread Aldy Hernandez via Gcc-patches
Attached is the final version of the patch I have pushed. Thanks. Aldy On Tue, Jun 15, 2021 at 4:26 PM Aldy Hernandez wrote: > > > > On 6/15/21 4:05 PM, Andrew MacLeod wrote: > > On 6/15/21 9:48 AM, Jakub Jelinek wrote: > >> On Tue, Jun 15, 2021 at 09:43:33AM -0400, Andrew MacLeod wrote: > >

Re: [PATCH RFC] mklog: add subject line skeleton

2021-06-17 Thread Martin Liška
On 6/17/21 5:42 AM, Jason Merrill wrote: |Does this seem like an improvement?| Yes, I support the patch. I've made some adjustments to the patch in order to make flake8 happy. Martin diff --git a/contrib/mklog.py b/contrib/mklog.py index 5c93c707128..1f59055e723 100755 --- a/contrib/mklog.py

[COMMITTED] IBM Z: Fix vector intrinsics vec_double and vec_floate

2021-06-17 Thread Marius Hillenbrand via Gcc-patches
Discussed offline with Andreas Krebbel. Fix the mapping of vec_double and vec_floate to builtins. gcc/ChangeLog: PR target/100871 * config/s390/vecintrin.h (vec_doublee): Fix to use __builtin_s390_vflls. (vec_floate): Fix to use __builtin_s390_vflrd. gcc/tests

Re: [EXTERNAL] [PATCH] gcov: Use system IO buffering

2021-06-17 Thread Martin Liška
On 6/17/21 3:59 AM, Eugene Rozenfeld wrote: |The commit from this patch (https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=23eb66d1d46a34cb28c4acbdf8a1deb80a7c5a05) changed the semantics of gcov_read_string and gcov_write_string. Before this change the string storage was as described in gcov-io.h:

[PATCH][pushed] gcov: update documentation entry about string format

2021-06-17 Thread Martin Liška
gcc/ChangeLog: * gcov-io.h: Update documentation entry about string format. --- gcc/gcov-io.h | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h index f7584eb9679..ff92afe63df 100644 --- a/gcc/gcov-io.h +++ b/gcc/gcov-io.h @@ -42,15 +

[PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Richard Biener
This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... } thus subtract, add alternating on lanes, starting with subtract. It adds a corresponding optab and direct internal function, vec_subadd$a3 and at the moment t

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Uros Bizjak via Gcc-patches
On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... } > thus subtract, add alternating on lanes, starting with subtract. > > It adds a corresponding op

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Uros Bizjak via Gcc-patches
On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... } > thus subtract, add alternating on lanes, starting with subtract. > > It adds a corresponding op

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Richard Biener
On Thu, 17 Jun 2021, Uros Bizjak wrote: > On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > > instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... } > > thus subtract, add alternating on lanes, sta

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Uros Bizjak via Gcc-patches
On Thu, Jun 17, 2021 at 12:00 PM Richard Biener wrote: > > On Thu, 17 Jun 2021, Uros Bizjak wrote: > > > On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > > > > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > > > instructions which compute { v0[0] - v1[0], v

Re: [PUSHED] Skip out on processing __builtin_clz when varying.

2021-06-17 Thread Aldy Hernandez via Gcc-patches
I am pushing this with my new super powers. It also fixes PR100790, which is a plus. Final version of patch attached. Aldy On Thu, Jun 3, 2021 at 6:24 PM Aldy Hernandez wrote: > > Ping*2 > > -- Forwarded message - > From: Aldy Hernandez > Date: Thu, May 13, 2021, 20:02 > Subjec

RE: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Tamar Christina via Gcc-patches
> -Original Message- > From: Richard Biener > Sent: Thursday, June 17, 2021 10:45 AM > To: gcc-patches@gcc.gnu.org > Cc: hongtao@intel.com; ubiz...@gmail.com; Tamar Christina > > Subject: [PATCH][RFC] Add x86 subadd SLP pattern > > This addds SLP pattern recognition for the SSE3/AVX

Re: [PATCH] libstdc++: Refine range adaptors' "simple extra args" mechanism [PR100940]

2021-06-17 Thread Jonathan Wakely via Gcc-patches
On Mon, 14 Jun 2021 at 17:36, Patrick Palka via Libstdc++ wrote: > > The _S_has_simple_extra_args mechanism is used to simplify forwarding > of range adaptor's extra arguments when perfect forwarding call wrapper > semantics isn't required for correctness, on a per-adaptor basis. > Both views::tak

[PATCH] [MIPS]: add .module mipsREV to all output asm file

2021-06-17 Thread YunQiang Su
Currently, the asm output file for MIPS has no rev info. It can make some trouble, for example: assembler is mips1 by default, gcc is fpxx by default. To assemble the output of gcc -S, we have to pass -mips2 to assembler. gcc/ChangeLog: * gcc/config/mips/mips.c (mips_module_isa_name): New

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Richard Biener
On Thu, 17 Jun 2021, Uros Bizjak wrote: > On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > > instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... } > > thus subtract, add alternating on lanes, sta

[Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Tobias Burnus
Hi all, this patch does two things: (A) Documentation for -fopenmp This finally adds documentation - which was lacking a long time but is increasingly demanded. Often used options: -foffload='-lm' and '-lgfortran' -foffload=(nvptx-none=)-latomic -foffload=(amdgcn-amdhsa=)-march=gfx906 * * *

Re: [Patch] Add 'default' to -foffload=; document that flag [PR67300]

2021-06-17 Thread Jakub Jelinek via Gcc-patches
On Thu, Jun 17, 2021 at 02:08:07PM +0200, Tobias Burnus wrote: > +@item -foffload=@var{offload-target-triplet} > +@itemx -foffload=@var{offload-target-triplet}=@var{flags} > +@itemx -foffload=@var{flags} > +@opindex foffload > +@cindex Offloading > +@cindex OpenACC > +@cindex OpenMP > +Specifies fo

Re: [committed] analyzer: bitfield fixes [PR99212]

2021-06-17 Thread Christophe Lyon via Gcc-patches
On Wed, 16 Jun 2021 at 00:03, David Malcolm wrote: > > On Wed, 2021-06-09 at 11:00 -0400, David Malcolm wrote: > > On Wed, 2021-06-09 at 16:17 +0200, Christophe Lyon wrote: > > > On Tue, 8 Jun 2021 at 21:34, David Malcolm via Gcc-patches > > > wrote: > > > > > > > > This patch verifies the previo

[PATCH] i386: Add variable vec_set for 64bit vectors [PR97194]

2021-06-17 Thread Uros Bizjak via Gcc-patches
To generate sane code a SSE4.1 variable PBLENDV instruction is needed. 2021-06-17 Uroš Bizjak gcc/ PR target/97194 * config/i386/i386-expand.c (expand_vector_set_var): Handle V2FS mode remapping. Pass TARGET_MMX_WITH_SSE to ix86_expand_vector_init_duplicate. (ix86_expand_v

Re: [PATCH] i386: Add variable vec_set for 64bit vectors [PR97194]

2021-06-17 Thread Uros Bizjak via Gcc-patches
On Thu, Jun 17, 2021 at 3:22 PM Uros Bizjak wrote: > > To generate sane code a SSE4.1 variable PBLENDV instruction is needed. > > 2021-06-17 Uroš Bizjak > > gcc/ > PR target/97194 > * config/i386/i386-expand.c (expand_vector_set_var): > Handle V2FS mode remapping. Pass TARGET_MMX_W

Re: Unable to build Ada on fedora

2021-06-17 Thread Andrew MacLeod via Gcc-patches
On 6/17/21 1:45 AM, Arnaud Charlet wrote: I've been unable to build ada on my fedora box since: Yes, Jakub mentioned it yesterday and I've sent him a potential patch, I was waiting for his feedback. I've now committed it blindly (can't make things worse), let me know if the problem is fully sol

Re: Unable to build Ada on fedora

2021-06-17 Thread Arnaud Charlet
> >I've now committed it blindly (can't make things worse), let me know if the > >problem is fully solved or if not, what output you are now getting. > > That is looking pretty good, thanks. Great, thanks for confirming, and sorry again for the breakage on this delicate change! Arno

Re: [PATCH, v3, OpenMP 5.0, libgomp] Structure element mapping for OpenMP 5.0

2021-06-17 Thread Chung-Lin Tang
On 2021/6/10 9:04 PM, Jakub Jelinek wrote: I know you had performance concerns in the last round, compared with your sorting approach. I'll try to research on that later. Getting the v3 patch posted before backporting to devel/omp/gcc-11. But please have a look at this incrementally. I think

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-17 Thread Richard Biener
On Thu, 17 Jun 2021, Richard Biener wrote: > On Thu, 17 Jun 2021, Uros Bizjak wrote: > > > On Thu, Jun 17, 2021 at 11:44 AM Richard Biener wrote: > > > > > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > > > instructions which compute { v0[0] - v1[0], v0[1], + v1[1]

Re: [PATCH 3/6] return auto_vec from get_loop_hot_path

2021-06-17 Thread Christophe Lyon via Gcc-patches
On Tue, 15 Jun 2021 at 08:47, Richard Biener via Gcc-patches wrote: > > On Tue, Jun 15, 2021 at 8:01 AM Trevor Saunders wrote: > > > > This ensures callers take ownership of the returned vector. > > > > Signed-off-by: Trevor Saunders > > > > bootstrapped and regtested on x86_64-linux-gnu, ok? >

Re: [PATCH] gcc/configure.ac: fix register issue for global_load assembler functions

2021-06-17 Thread Marcel Vollweiler
Am 16.06.2021 um 19:19 schrieb Joseph Myers: On Wed, 16 Jun 2021, Julian Brown wrote: +if test x$gcc_cv_as_gcn_global_load_fixed = xyes; then + AC_DEFINE(HAVE_GCN_ASM_GLOBAL_LOAD_FIXED, 1, [Define if your assembler has fixed global_load functions.]) +else + AC_DEFINE(HAVE_GCN_

[PATCH, C++, OpenMP 5.0, OG11] Fixes for lambda in offload regions

2021-06-17 Thread Chung-Lin Tang
This patch contains: (1) Some fixes for lambda capture by-reference to work inside offload regions. (2) Cases where lambda objects declared inside an offload region were mistakenly target-mapped on the enclosing target construct, causing a gimplify ICE (because it isn't binded at that position),

[PATCH] cleanup some types in comments and spacing.

2021-06-17 Thread Andrew MacLeod via Gcc-patches
I've had a few things pointed out to me in the past couple of weeks that I didn't get around to addressing. .. just some touchups to comments and spacing. pushed. Andrew commit 8cbaa09333d3e338a438b067a0c18d2d9673fc1a Author: Andrew MacLeod Date: Thu Jun 17 09:07:19 2021 -0400 Fix spa

[Ada] Reject allocators in contexts restricted by SPARK

2021-06-17 Thread Pierre-Marie de Rodat
References to allocators, just like references to volatile objects, are now rejected in all context restricted by SPARK, both within actual parameters and outside of them. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_ch4.adb (Analyze_Allocator): Reject allocators in

[Ada] AI12-0411 Add "bool" to Interfaces.C

2021-06-17 Thread Pierre-Marie de Rodat
This AI got updated to remove some detected incompatibilities and Interfaces.C.bool is now named Interfaces.C.C_bool. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/i-c.ads, libgnat/i-cexten.ads, libgnat/i-cexten__128.ads: bool renamed C_bool.diff --git a/gc

[Ada] Apply aliasing checks only to names and not to objects as actuals

2021-06-17 Thread Pierre-Marie de Rodat
Run-time checks generated by the compiler with -gnateA switch are only relevant for actuals that name existing objects. They are irrelevant for other (anonymous) objects, because an object that acts as actual for one parameter cannot be referenced as the actual for another parameter. Consequently,

[Ada] Display Entity in debugging printouts

2021-06-17 Thread Pierre-Marie de Rodat
This patch fixes a bug in which procedures in Treepr such as pp would fail to display the Entity or Associated_Node fields. This was because of the shenanigans played with the Entity_Or_Associated_Node field (see Sinfo.Utils). Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ *

[Ada] Do not systematically suppress checks on atree.adb

2021-06-17 Thread Pierre-Marie de Rodat
This does not make a significant enough performance difference. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * atree.adb: Do not suppress checks.diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb --- a/gcc/ada/atree.adb +++ b/gcc/ada/atree.adb @@ -27,12 +27,11 @@ -- file

[Ada] Look at Others_Discrete_Choices for N_Others_Choice

2021-06-17 Thread Pierre-Marie de Rodat
When seeing if we have any static predicates in an "others" choice for a case statement, look at and possibly update choices Others_Discrete_Choices. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle Others_Dis

[Ada] Provide new function Uintp.UI_To_Unsigned_64

2021-06-17 Thread Pierre-Marie de Rodat
The function UI_To_Int is sometimes not sufficient, so provide this new function which can be useful to some GNAT back-ends. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.diff --git a/gcc/ada/uintp.adb b/gcc/ada/uintp.adb --- a

[Ada] Fix varsize node name conflict

2021-06-17 Thread Pierre-Marie de Rodat
The enumeration literals in type Node_Field were overloading the getter functions, which causes gdb to be confused. Same for Entity_Field. This patch prefixes all the enumeration literals with "F_", to disambiguate. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * gen_il-ge

[Ada] Use source casing in messages for aliasing checks

2021-06-17 Thread Pierre-Marie de Rodat
When compiling code with -gnateA -gnateE switches, i.e. with aliasing checks and extra information in exception messages, the runtime error includes names the overlapping formal parameters. Those parameters are now printed exactly as they appear in the source code, not in casing that has been deter

[Ada] Clarify error for unsupported ELIMINATED overflow mode

2021-06-17 Thread Pierre-Marie de Rodat
The ELIMINATED overflow checking mode, enabled either by a pragma or a command line switch, requires Long_Long_Integer'Size to 64 (because of the assumptions in the System.Bignums library). GNAT emitted a cryptic error when this requirement was not satisfied, e.g. when using a target configuration

[Ada] Removal of technical debt

2021-06-17 Thread Pierre-Marie de Rodat
This is an iterative patch as part of a greater project to reduce the amount of technical debt present in the frontend of the compiler. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch3.adb (Check_Missing_Others): Add comment. (Build_Initialization_Call): Remov

[Ada] Move runtime units for Put_Image attribute to libgnarl

2021-06-17 Thread Pierre-Marie de Rodat
The initial implementation wrongly put s-putaim.ads, s-putaim.adb in libgnat instead of libgnarl. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move... * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.diff --git /

[Ada] Cleanup redundant conditions in checks for overlapping actuals

2021-06-17 Thread Pierre-Marie de Rodat
Detection of overlapping actuals based on the mode and type of the formal parameters (i.e. IN/OUT/IN-OUT and elementary/composite) involved repeated conditions both in the outer loop (i.e. conditions applied to first formal) and in the inner loop (i.e. conditions applied to both formals). Those re

[Ada] Fix handling of generic types in check for overlapping actuals

2021-06-17 Thread Pierre-Marie de Rodat
In detection of overlapping actuals we were giving up on the first formal parameter of a generic type, which caused errors to depend on the order of parameters. Now we examine all parameters and simply ignore generic ones. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_

[Ada] Remove dead code for overlapping actuals and prefix notation

2021-06-17 Thread Pierre-Marie de Rodat
In detection of overlapping actuals we first call Refer_Same_Object to filter function calls that act as actual parameters. There is no need to later special-case any function calls, e.g. in the prefix notation. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_warn.adb (W

[Ada] Check all pairs of actuals for overlapping

2021-06-17 Thread Pierre-Marie de Rodat
When detecting overlapping actuals GNAT was giving up on the first pair of parameters that refer to the same object (even when there was no overlapping because both parameters had mode IN). Now we examine all pairs. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_warn.ad

[Ada] Fix detection of slices that denote the same object

2021-06-17 Thread Pierre-Marie de Rodat
To detect overlapping slices acting as actual parameters we rely on the Get_Index_Bounds routine. We were calling it with a type entity, while its description says that it parameter "must be a range, subtype indication, or the name of a scalar subtype." Tested on x86_64-pc-linux-gnu, committed on

[Ada] Fix detection of valid renamings for overlapping checks

2021-06-17 Thread Pierre-Marie de Rodat
Checks for overlapping actuals only apply to "valid renamings", i.e. renamings whose renamed object_name contains no references to non-static expressions; RM 6.4.1 (6.11/3). Such references can appear both in indexed components and slices. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada

[Ada] Error in instance on incomplete actual passed to formal incomplete type

2021-06-17 Thread Pierre-Marie de Rodat
The compiler wrongly issues an error on a generic instantiation when an incomplete view of a type that is completed before the instantiation is given as an actual for a formal incomplete type. We now check whether the full view of the actual incomplete type is present at that point, and associate t

[Ada] Don't check No_Wide_Characters restriction for illegal types

2021-06-17 Thread Pierre-Marie de Rodat
On illegal declarations of illegal types, e.g.: type X; type X is new X; the No_Wide_Characters restriction was checked using an incomplete entity of type X, which caused a crash. Now restriction No_Wide_Characters in derived types is checked after the legality of the parent type has been

[Ada] Remove dubious wrapper of a recursive function

2021-06-17 Thread Pierre-Marie de Rodat
Routine Is_Valid_Renaming was a wrapper subprogram that simply called its nested function. Code cleanup; semantics is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_util.adb (Is_Valid_Renaming): Body moved from its nested routine.diff --git a/gcc/ada

[Ada] Crash on a nested aggregate containing controlled objects

2021-06-17 Thread Pierre-Marie de Rodat
Exp_Util.Find_Hook_Context wasn't prepared to handle this case properly and we ended up inserting a statement in the middle of an aggregate, causing chaos. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate n

[Ada] Missing finalization on nested expression with action

2021-06-17 Thread Pierre-Marie de Rodat
Finalization may be missed when at least two if or case expressions are nested together and a controlled object is created after the nested expression. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do n

[Ada] Casing on composite values

2021-06-17 Thread Pierre-Marie de Rodat
Initial support for casing on composite values if extensions are allowed (e.g., if -gnatX is specified). The implementation is far from complete. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch5.adb (Expand_N_Case_Statement.Expand_General_Case_Statement): New

[Ada] Implementation of Inox feature of fixed lower bounds on array types/subtypes

2021-06-17 Thread Pierre-Marie de Rodat
This is a prototype implementation of the feature for defining array types and subtypes with fixed lower bounds for index ranges as proposed as part of the "Inox" language design effort. This feature is currently supported under control of the -gnatX (language extensions) switch, and allows unconst

[Ada] Warn on 'in out' param containing access in predefined private type

2021-06-17 Thread Pierre-Marie de Rodat
Normally the warnings: warning: formal parameter "..." is not modified warning: mode could be "in" instead of "in out" are disabled if the type contains components of an access type. This patch enables such warnings if the only such components are in internal private types. Tested on x8

[Ada] Fix operations on Unbounded_String...

2021-06-17 Thread Pierre-Marie de Rodat
... when its length is close to Natural'Last. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/a-strunb__shared.ads (Allocate): Additional parameter to provide additional amount of space to be allocated. * libgnat/a-strunb__shared.adb (Aligned_Max_Leng

[Ada] Crash on overriding of an abstract primitive on an incomplete type

2021-06-17 Thread Pierre-Marie de Rodat
This combination breaks an assumption in Sem_Ch3.Check_Ops_From_Incomplete_Type. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against no Primitive_Operations.diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.a

Re: [PATCH 3/6] return auto_vec from get_loop_hot_path

2021-06-17 Thread Trevor Saunders
On Thu, Jun 17, 2021 at 03:48:28PM +0200, Christophe Lyon wrote: > On Tue, 15 Jun 2021 at 08:47, Richard Biener via Gcc-patches > wrote: > > > > On Tue, Jun 15, 2021 at 8:01 AM Trevor Saunders > > wrote: > > > > > > This ensures callers take ownership of the returned vector. > > > > > > Signed-o

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-17 Thread Martin Sebor via Gcc-patches
On 6/17/21 12:03 AM, Richard Biener wrote: On Wed, Jun 16, 2021 at 6:01 PM Martin Sebor wrote: On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: Richard Biener via Gcc-patches writes: On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders wrote: This makes it clear the caller owns th

[PATCHv3 00/55] Replace the Power target-specific builtin machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
Original patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html V2 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572231.html I've made some slight changes to the V2 series because of recent updates to trunk from Carl Love and Peter Bergner. C

[PATCH 01/55] Support scanning of build-time GC roots in gengtype

2021-06-17 Thread Bill Schmidt via Gcc-patches
Currently gengtype supports scanning target-specific files for GC roots, but those files must exist in the source tree. This patch extends the support to include header files generated into the build directory. It also allows targets to specify build dependencies for s-gtype to ensure the built h

[PATCH 02/55] rs6000: Initial create of rs6000-gen-builtins.c

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c: New. --- gcc/config/rs6000/rs6000-gen-builtins.c | 165 1 file changed, 165 insertions(+) create mode 100644 gcc/config/rs6000/rs6000-gen-builtins.c diff --git a/gcc/config/rs6000/rs6000-gen-

[PATCH 03/55] rs6000: Add initial input files

2021-06-17 Thread Bill Schmidt via Gcc-patches
This patch adds a tiny subset of the built-in and overload descriptions. 2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: New. * config/rs6000/rs6000-overload.def: New. --- gcc/config/rs6000/rs6000-builtin-new.def | 199 +++ gcc/config/r

[PATCH 04/55] rs6000: Add file support and functions for diagnostic support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable. (ovld_file): Likewise. (header_file): Likewise. (init_file): Likewise. (defines_file): Likewise. (pgm_path): Likewise. (bif_path): Likewise.

[PATCH 05/55] rs6000: Add helper functions for parsing

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New function. (advance_line): Likewise. (safe_inc_pos): Likewise. (match_identifier): Likewise. (match_integer): Likewise. (match_to_right_bracket): L

[PATCH 06/55] rs6000: Add functions for matching types, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (void_status): New enum. (basetype): Likewise. (typeinfo): Likewise. (handle_pointer): New function. (match_basetype): New stub function. (match_const_restriction): Likewise.

[PATCH 07/55] rs6000: Add functions for matching types, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 64 + 1 file changed, 64 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs6000

[PATCH 08/55] rs6000: Add functions for matching types, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (restriction): New enum. (typeinfo): Add restr field. (match_bracketed_pair): New function. (match_const_restriction): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 115 +++

[PATCH 09/55] rs6000: Red-black tree implementation for balanced tree search

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rbtree.c: New file. * config/rs6000/rbtree.h: New file. --- gcc/config/rs6000/rbtree.c | 242 + gcc/config/rs6000/rbtree.h | 52 2 files changed, 294 insertions(+) create mode 100644 gcc

[PATCH 10/55] rs6000: Main function with stubs for parsing and output

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (rbtree.h): New #include. (num_bifs): New variable. (num_ovld_stanzas): Likewise. (num_ovlds): Likewise. (parse_codes): New enum. (bif_rbt): New variable. (ovld_rbt): Likew

[PATCH 11/55] rs6000: Parsing built-in input file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_stanza): New enum. (curr_bif_stanza): New variable. (stanza_entry): New struct. (stanza_map): New initialized variable. (enable_string): Likewise. (fnkinds): New enum.

[PATCH 12/55] rs6000: Parsing built-in input file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_args): New function. (parse_prototype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 142 1 file changed, 142 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-

[PATCH 13/55] rs6000: Parsing built-in input file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_bif_attrs): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 102 1 file changed, 102 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6

[PATCH 14/55] rs6000: Parsing of overload input file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (ovld_stanza): New struct. (MAXOVLDSTANZAS): New macro. (ovld_stanzas): New variable. (curr_ovld_stanza): Likewise. (MAXOVLDS): New macro. (ovlddata): New struct. (ovlds):

[PATCH 15/55] rs6000: Build and store function type identifiers

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (complete_vector_type): New function. (complete_base_type): Likewise. (construct_fntype_id): Likewise. (parse_bif_entry): Call contruct_fntype_id. (parse_ovld_entry): Likewise. ---

[PATCH 16/55] rs6000: Write output to the builtin definition include file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_defines_file): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 17 + 1 file changed, 17 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs

[PATCH 17/55] rs6000: Write output to the builtins header file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_autogenerated_header): New function. (write_decls): Likewise. (write_extern_fntype): New callback function. (write_header_file): Implement. --- gcc/config/rs6000/rs6000-gen-builtin

[PATCH 18/55] rs6000: Write output to the builtins init file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_fntype): New callback function. (write_fntype_init): New stub function. (write_init_bif_table): Likewise. (write_init_ovld_table): New function. (write_init_file): Implement

[PATCH 19/55] rs6000: Write output to the builtins init file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_bif_table): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 81 + 1 file changed, 81 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config

[PATCH 20/55] rs6000: Write output to the builtins init file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (typemap): New struct. (TYPE_MAP_SIZE): New macro. (type_map): New initialized variable. (map_token_to_type_node): New function. (write_type_node): Likewise. (write_fntype_init): I

[PATCH 21/55] rs6000: Write static initializations for built-in table

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_bif_static_init): New function. (write_init_file): Call write_bif_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 106 1 file changed, 106 insertions(+) diff -

[PATCH 22/55] rs6000: Write static initializations for overload tables

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_ovld_static_init): New function. (write_init_file): Call write_ovld_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 53 + 1 file changed, 53 insertions(+) diff

[PATCH 23/55] rs6000: Incorporate new builtins code into the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (extra_objs): Include rs6000-builtins.o and rs6000-c.o. * config/rs6000/t-rs6000 (rs6000-gen-builtins.o): New target. (rbtree.o): Likewise. (rs6000-gen-builtins): Likewise. (rs6000-builtins.c): Likewise.

[PATCH 2/5] libstdc++: Move ranges algos used by into ranges_util.h

2021-06-17 Thread Patrick Palka via Gcc-patches
The header defines simplified copies of some ranges algorithms in order to avoid including the entirety of ranges_algo.h. A subsequent patch is going to want to use ranges::search in as well, but that algorithm is more complicated compared to the other copied ones. So rather than additionally c

[PATCH 24/55] rs6000: Add gengtype handling to the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (target_gtfiles): Add ./rs6000-builtins.h. * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set. --- gcc/config.gcc | 1 + gcc/config/rs6000/t-rs6000 | 1 + 2 files changed, 2 insertions(+) diff --git a/gcc/config.gcc b/gcc/con

[PATCH 1/5] libstdc++: Implement P2325 changes to default-constructibilty of views

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the wording changes of P2325R3 "Views should not be required to be default constructible". Changes are relatively straightforward, besides perhaps those to __box (which now stands for copyable-box instead of semiregular-box) and __non_propagating_cache. For __box, this patch imple

[PATCH 4/5] libstdc++: Implement resolution of LWG 3478 as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the part of P2210R2 "Superior String Splitting" that resolves LWG 3478 for split_view (now named lazy_split_view). libstdc++-v3/ChangeLog: * include/std/ranges (lazy_split_view::_OuterIter::__at_end): Check _M_trailing_empty. (lazy_split_view::_OuterIter::_

[PATCH 5/5] libstdc++: Implement new views::split as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This implements the new views::split as specified by P2210R2 "Superior string splitting". libstdc++-v3/ChangeLog: * include/std/ranges (__non_propagating_cache::operator bool): Define. (split_view): Define as per P2210. (views::__detail::__can_split_view): Define.

[PATCH 25/55] rs6000: Add the rest of the [altivec] stanza to the builtins file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza. * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move initialization of pcvoid_type_node here... (altivec_init_builtins): ...from here. * config/rs6000/rs6000

[PATCH 26/55] rs6000: Add VSX builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 857 +++ 1 file changed, 857 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-

[PATCH 3/5] libstdc++: Rename views::split to views::lazy_split as per P2210

2021-06-17 Thread Patrick Palka via Gcc-patches
This mostly mechanical patch performs the renaming part of P2210R3 "Superior string splitting". It also defines _InnerIter::base() overloads. libstdc++-v3/ChangeLog: * include/std/ranges: Rename views::split to views::lazy_split, split_view to lazy_split_view, etc. throughout.

[PATCH 27/55] rs6000: Add available-everywhere and ancient builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add always, power5, and power6 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 72 1 file changed, 72 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gc

[PATCH 28/55] rs6000: Add power7 and power7-64 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 39 1 file changed, 39 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/conf

[PATCH 29/55] rs6000: Add power8-vector builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 438 +++ 1 file changed, 438 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs600

[PATCH 30/55] rs6000: Add Power9 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9, and power9-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 375 +++ 1 file changed, 375 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-ne

[PATCH 31/55] rs6000: Add more type nodes to support builtin processing

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize various pointer type nodes. * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum values for various pointer types. (ptr_V16QI_type_node): New macro.

[PATCH 32/55] rs6000: Add Power10 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 523 +++ 1 file changed, 523 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/c

[PATCH 33/55] rs6000: Add MMA builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-16 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add mma stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 416 +++ 1 file changed, 416 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-

[PATCH 34/55] rs6000: Add miscellaneous builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp, crypto, and htm stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 215 +++ 1 file changed, 215 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.de

  1   2   >