[PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-02 Thread Alan Modra via Gcc-patches
This moves an #ifdef block of code from calls.c to targetm.function_ok_for_sibcall. Only two targets, x86 and rs6000, define REG_PARM_STACK_SPACE or OUTGOING_REG_PARM_STACK_SPACE macros that might vary depending on the called function. Macros like UNITS_PER_WORD don't change over a function bound

Re: [PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-02 Thread Alan Modra via Gcc-patches
On Fri, Oct 02, 2020 at 04:41:05PM +0930, Alan Modra wrote: > This moves an #ifdef block of code from calls.c to > targetm.function_ok_for_sibcall. Not only did I miss cc'ing the i386 maintainers, I missed seeing that the ATTRIBUTE_UNUSED reg_parm_stack_space param of can_implement_as_sibling_call

Add streaming of poly_int64

2020-10-02 Thread Jan Hubicka
Hi, this patch implements stremaing for poly int. Bootstrapped/regtested x86_64-linux, OK? gcc/ChangeLog: 2020-10-02 Jan Hubicka * data-streamer-in.c (streamer_read_poly_int64): New function. * data-streamer-out.c (streamer_write_poly_int64): New function. * data-stre

Break out ao_ref_init_from_ptr_and_range from ao_ref_init_from_ptr_and_size

2020-10-02 Thread Jan Hubicka
Hi, this patch breaks out logic from ao_ref_init_from_ptr_and_size so i can use it from ipa-modref oracle to to initialize ao_ref when OFFSET/SIZE/MAX_SIZE is known. Bootstrapped/regtested x86_64-linux together with the ipa-modref change, OK? Honza * tree-ssa-alias.c (ao_ref_init_from_pt

Re: [rs6000] Avoid useless masking of count operand for rotation

2020-10-02 Thread Eric Botcazou
> Don't call it "mask" please: *all* of our basic rotate instructions > already have something called "mask" (that is the "m" in "rlwnm" for > example; and "rotlw d,a,b" is just an extended mnemonic for > "rlwnm d,a,b,0,31"). The hardware also does not mask the shift amount > at all (instead, only

Track access ranges in ipa-modref

2020-10-02 Thread Jan Hubicka
Hi, this patch implements tracking of access ranges. This is only applied when base pointer is an arugment. Incrementally i will extend it to also track TBAA basetype so we can disambiguate ranges for accesses to same basetype (which makes is quite bit more effective). For this reason i track the

[pushed] Implement irange::fits_p.

2020-10-02 Thread Aldy Hernandez via Gcc-patches
This should have been included in the irange_allocator patch, as a method to see if the current object can hold a passed range without truncation. Pushed. gcc/ChangeLog: * value-range.h (irange::fits_p): New. --- gcc/value-range.h | 1 + 1 file changed, 1 insertion(+) diff --git a/g

Re: [PATCH] assorted improvements for fold_truth_andor_1

2020-10-02 Thread Alexandre Oliva
Here's what I got so far, passing regstrap except for field-merge-1.c, that relies on combining non-adjacent compares, which I haven't implemented yet. I had to retain some parts of fold_truth_andor_1 to avoid regressions in gcc.c-torture/execute/ieee/compare-fp-3.c and gcc.dg/pr81228.c. gcc.targe

Re: [PATCH] Fix build of ppc64 target.

2020-10-02 Thread Aldy Hernandez via Gcc-patches
On 10/2/20 2:17 AM, David Edelsohn wrote: On Thu, Oct 1, 2020 at 8:02 PM Andrew MacLeod wrote: Hi, Andrew Thanks for investigating. And I definitely am not suggesting that you delay the great progress on Ranger to flatten and compact tree-vrp.h and ssa.h immediately. Inclusion of any he

Re: [PATCH] options: Save and restore opts_set for Optimization and Target options

2020-10-02 Thread Jakub Jelinek via Gcc-patches
On Wed, Sep 30, 2020 at 03:24:08PM +0200, Stefan Schulze Frielinghaus via Gcc-patches wrote: > On Wed, Sep 30, 2020 at 01:39:11PM +0200, Jakub Jelinek wrote: > > On Wed, Sep 30, 2020 at 01:21:44PM +0200, Stefan Schulze Frielinghaus wrote: > > > I think the problem boils down that on S/390 we disti

Re: Add streaming of poly_int64

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > this patch implements stremaing for poly int. > > Bootstrapped/regtested x86_64-linux, OK? OK. > gcc/ChangeLog: > > 2020-10-02 Jan Hubicka > > * data-streamer-in.c (streamer_read_poly_int64): New function. > * data-streamer-out.c (

Re: [PATCH] tree-optimization/97151 - improve PTA for C++ operator delete

2020-10-02 Thread Richard Biener
On Thu, 1 Oct 2020, Jason Merrill wrote: > On 10/1/20 5:26 AM, Richard Biener wrote: > > On Wed, 30 Sep 2020, Jason Merrill wrote: > > > >> On 9/28/20 3:09 PM, Jason Merrill wrote: > >>> On 9/28/20 3:56 AM, Richard Biener wrote: > On Fri, 25 Sep 2020, Jason Merrill wrote: > > > On 9

Re: Break out ao_ref_init_from_ptr_and_range from ao_ref_init_from_ptr_and_size

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > this patch breaks out logic from ao_ref_init_from_ptr_and_size so i can > use it from ipa-modref oracle to to initialize ao_ref when > OFFSET/SIZE/MAX_SIZE is known. > > Bootstrapped/regtested x86_64-linux together with the ipa-modref change, > OK?

[PATCH] system_data_types.7: void *: Add info about generic function parameters and return value

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar --- Paul and David, Thanks for your input! Alex man7/system_data_types.7 | 16 1 file changed, 16 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index aab64e

Re: [PATCH 2/2] system_data_types.7: void *: Add info about pointer artihmetic

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, The 2/2 is a typo. This is a standalone patch. Cheers, Alex On 2020-10-02 11:44, Alejandro Colomar wrote: Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar --- Paul and David, Thanks for your input! Alex man7/system_data_types.7 | 11 +++

[PATCH 2/2] system_data_types.7: void *: Add info about pointer artihmetic

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar --- Paul and David, Thanks for your input! Alex man7/system_data_types.7 | 11 +++ 1 file changed, 11 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index 6451782db..

Re: GCC 9 backports

2020-10-02 Thread Martin Liška
There are 2 more I've just tested. Martin >From f070a482cf7b51716a9933302be246831ef0c236 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 1 Oct 2020 21:28:30 +0200 Subject: [PATCH] gcov: fix streaming of HIST_TYPE_IOR histogram type. gcc/ChangeLog: PR gcov-profile/64636 * value-prof.c

Re: [PATCH gcc-10] gcov: fix TOPN streaming from shared libraries

2020-10-02 Thread Martin Liška
On 9/25/20 11:28 PM, Sergei Trofimovich wrote: From: Sergei Trofimovich Before the change gcc did not stream correctly TOPN counters if counters belonged to a non-local shared object. As a result zero-section optimization generated TOPN sections in a form not recognizable by '__gcov_merge_topn

[Patch,committed] Re-generate libgomp's Makefile.in with automake 1.15.1

2020-10-02 Thread Tobias Burnus
libgomp's Makefile.in were last re-generated by automake 1.16.1; result: --enable-maintainer-mode now tries to find and use automake-16 when generating that file. Committed as obvious in commit r11-3613-g2fe5a545e09edb4001bbfb74c571c806ebc7cb25 Tobias commit 2fe5a545e09edb4001bbfb74c571c806eb

Re: [PATCH] libstdc++: Add missing P0896 changes to

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On 01/10/20 10:35 -0400, Patrick Palka via Libstdc++ wrote: I noticed that the following changes from this paper were not yet implemented. Oops, thanks. OK to commit after testing on x86_64-pc-linux-gnu finishes successfully? libstdc++-v3/ChangeLog: * include/bits/stl_iterator.h (re

[PATCH] arm: Make more use of the new mode macros

2020-10-02 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > On Tue, 29 Sep 2020 at 12:38, Kyrylo Tkachov wrote: >> >> >> >> > -Original Message- >> > From: Richard Sandiford >> > Sent: 29 September 2020 11:27 >> > To: Kyrylo Tkachov >> > Cc: gcc-patches@gcc.gnu.org; ni...@redhat.com; Richard Earnshaw >> > ; Ramana Radha

RE: [PATCH] arm: Make more use of the new mode macros

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Richard Sandiford > Sent: 02 October 2020 11:39 > To: Christophe Lyon > Cc: Kyrylo Tkachov ; Richard Earnshaw > ; Dennis Zhang ; > gcc-patches@gcc.gnu.org; Ramana Radhakrishnan > > Subject: [PATCH] arm: Make more use of the new mode macros > > Christophe

[PATCH] testsuite: Fix FAIL for older ARM cores

2020-10-02 Thread Jonathan Wakely via Gcc-patches
Since hard-float is not implemented for cores that only support thumb1 (and not thumb2) this test fails for configurations using hard float but older -mcpu settings. gcc/testsuite/ChangeLog: * g++.dg/inherit/thunk10.C: Skip test for arm_hf_eabi if -mthumb doesn't generate thumb2 i

[committed] aarch64: Remove aarch64_sve_pred_dominates_p

2020-10-02 Thread Richard Sandiford via Gcc-patches
In r11-2922, Przemek fixed a post-RA instruction match failure caused by the SVE FP subtraction patterns. This patch applies the same fix to the other patterns. To recap, the issue is around the handling of predication. We want to do two things: - Optimise cases in which a predicate is known to

[Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Tobias Burnus
On 10/2/20 12:55 AM, Joseph Myers wrote: As discussed in bug 81358, I think --as-needed -latomic --no-as-needed should be used by the driver by default (when the compiler is configured with libatomic supported). I make a thinko initially by believing that the '-latomic' has to be specified by

Re: GCC 9 backports

2020-10-02 Thread Martin Liška
On 10/2/20 12:05 PM, Martin Liška wrote: There are 2 more I've just tested. Martin and one more. Martin >From e204fd5113a4ae92713442555ab4258abd84942a Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 25 Sep 2020 10:53:26 +0200 Subject: [PATCH] GCOV: do not mangle .gcno files. gcc/Chan

Re: GCC 10 backports

2020-10-02 Thread Martin Liška
On 10/1/20 9:18 PM, Martin Liška wrote: I'm going to install the following 3 tested backports. Martin ... and one more. Martin >From f97ef0b2dfdad07db3d564b932c7b7373654b7d4 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 25 Sep 2020 10:53:26 +0200 Subject: [PATCH] GCOV: do not mang

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Florian Weimer via Gcc-patches
* Alejandro Colomar via Libc-alpha: > +the compiler is able to generate efficient code for 128-bit arithmetic". Stray "? > +.PP > +See also the > +.IR intmax_t , > +.IR int N _t I think it's surprising that intmax_t can be smaller than __int128 (and usually is, I think), so that's probably wort

Re: [PATCH 1/6] ipa: Bundle vectors describing argument values

2020-10-02 Thread Jan Hubicka
> 2020-09-01 Martin Jambor > > * ipa-prop.h (ipa_auto_call_arg_values): New type. > (class ipa_call_arg_values): Likewise. > (ipa_get_indirect_edge_target): Replaced vector arguments with > ipa_call_arg_values in declaration. Added an overload for > ipa_auto_call_

c++: Simplify __FUNCTION__ creation

2020-10-02 Thread Nathan Sidwell
I had reason to wander into cp_make_fname, and noticed it's the only caller of cp_fname_init. Folding it in makes the code simpler. gcc/cp/ * cp-tree.h (cp_fname_init): Delete declaration. * decl.c (cp_fname_init): Merge into only caller ... (cp_make_fname): ... h

[PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul Egg

[PATCH 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, As you asked, I squashed. And added the POSIX.1-2008 note too. Thanks for that! Cheers, Alex Alejandro Colomar (2): system_data_types.7: Add 'void *' void.3: New link to system_data_types(7) man3/void.3 | 1 + man7/system_data_types.7 | 80 +++

[PATCH 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

[PATCH v2 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man7/system_data_types.7 | 40 1 file changed, 40 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index e545aa1a0..5f9aa648f 100644 --- a/man7/system_data_types.7 +++ b/man7/system_data_t

[PATCH v2 0/4] Document 128-bit types

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, I fixed the stray '"' noticed by Florian. Cheers, Alex Alejandro Colomar (4): system_data_types.7: Add '__int128' __int128.3: New link to system_data_types(7) system_data_types.7: Add 'unsigned __int128' unsigned-__int128.3: New link to system_data_types(7) man3/__int128.3

[PATCH v2 4/4] unsigned-__int128.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/unsigned-__int128.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/unsigned-__int128.3 diff --git a/man3/unsigned-__int128.3 b/man3/unsigned-__int128.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/unsigned-__in

[PATCH v2 2/4] __int128.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/__int128.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/__int128.3 diff --git a/man3/__int128.3 b/man3/__int128.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/__int128.3 @@ -0,0 +1 @@ +.so man7/system_data_ty

[PATCH v2 3/4] system_data_types.7: Add 'unsigned __int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man7/system_data_types.7 | 35 +++ 1 file changed, 35 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index 5f9aa648f..3cf3f0ec9 100644 --- a/man7/system_data_types.7 +++ b/man7/system_data_types.

Re: [PATCH 4/6] ipa: Multiple predicates for loop properties, with frequencies

2020-10-02 Thread Martin Jambor
Hi, On Wed, Sep 30 2020, Jan Hubicka wrote: >> This patch enhances the ability of IPA to reason under what conditions >> loops in a function have known iteration counts or strides because it >> replaces single predicates which currently hold conjunction of >> predicates for all loops with vectors

PING: [PATCH] x86: Add

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 23, 2020 at 10:58 AM H.J. Lu wrote: > > For sources which can't use any vector instructions, and > cannot be included for compiler intrinsics: > > $ echo "#include " | gcc -S -O2 -mno-sse -mno-mmx -x c - > In file included from /usr/include/stdlib.h:1013, > from > /

PING: [PATCH] Use the section flag 'o' for __patchable_function_entries

2020-10-02 Thread H.J. Lu via Gcc-patches
On Thu, Feb 6, 2020 at 6:57 PM H.J. Lu wrote: > > This commit in GNU binutils 2.35: > > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=b7d072167715829eed0622616f6ae0182900de3e > > added the section flag 'o' to .section directive: > > .section __patchable_function_entries,"awo"

PING^3 [PATCH] x86: Inline strncmp only with -minline-all-stringops

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 16, 2020 at 10:07 PM H.J. Lu wrote: > > On Wed, Aug 19, 2020 at 6:25 AM H.J. Lu wrote: > > > > On Wed, Jul 15, 2020 at 10:42:27AM -0700, H.J. Lu wrote: > > > Expand strncmp to "repz cmpsb" only with -minline-all-stringops since > > > "repz cmpsb" can be much slower than strncmp functi

Re: [PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On Fri, 2 Oct 2020 at 13:17, Alejandro Colomar wrote: > > Signed-off-by: Alejandro Colomar > > system_data_types.7: void *: Add info about generic function parameters and > return value > > Reported-by: Paul Eggert > Reported-by: David Laight > Signed-off-by: Alejandro Colomar > > system_data

[PATCH][omp, simt] Handle alternative IV

2020-10-02 Thread Tom de Vries
Hi, Consider the test-case libgomp.c/pr81778.c added in this commit, with this core loop (note: CANARY_SIZE set to 0 for simplicity): ... int s = 1; #pragma omp target simd for (int i = N - 1; i > -1; i -= s) a[i] = 1; ... which, given that N is 32, sets a[0..31] to 1. After omp-expand,

Perforate fnspec attribute strings

2020-10-02 Thread Jan Hubicka
Hi, as discussed this patch makes return value and arg specifiers to be 2 characters long and updates (I hope) all fnspec strings. I also enabled part of the verification (just accepting the fortran bug with 'R' and 'W' in return value specifiers) to get some evidence that the update is complete.

PING^3 [PATCH] x86: Add cmpmemsi for -minline-all-stringops

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 16, 2020 at 10:07 PM H.J. Lu wrote: > > On Wed, Aug 19, 2020 at 6:09 AM H.J. Lu wrote: > > > > On Tue, May 19, 2020 at 5:14 AM H.J. Lu wrote: > > > > > > On Tue, May 19, 2020 at 1:48 AM Uros Bizjak wrote: > > > > > > > > On Sun, May 17, 2020 at 7:06 PM H.J. Lu wrote: > > > > > > >

Re: PING^3 [PATCH] x86: Inline strncmp only with -minline-all-stringops

2020-10-02 Thread Jan Hubicka
> > > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > > > index fb677e17817..f3fbed81c4a 100644 > > > --- a/gcc/config/i386/i386.md > > > +++ b/gcc/config/i386/i386.md > > > @@ -18007,7 +18007,13 @@ (define_expand "cmpstrnsi" > > > { > > >rtx addr1, addr2, countreg, align, out

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Martin Liška
On 9/24/20 2:41 PM, Richard Biener wrote: On Wed, Sep 2, 2020 at 1:53 PM Martin Liška wrote: On 9/1/20 4:50 PM, David Malcolm wrote: Hope this is constructive Dave Thank you David. All of them very very useful! There's updated version of the patch. I noticed several functions without a f

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Martin Liška
On 9/29/20 10:46 AM, Richard Biener wrote: On Fri, Sep 25, 2020 at 4:05 PM Martin Liška wrote: On 9/24/20 2:41 PM, Richard Biener wrote: On Wed, Sep 2, 2020 at 1:53 PM Martin Liška wrote: On 9/1/20 4:50 PM, David Malcolm wrote: Hope this is constructive Dave Thank you David. All of them

RE: [PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread David Laight via Gcc-patches
> > +.I void * > > +.RS > > +According to the C language standard, > > +a pointer to any object type may be converted to a pointer to > > +.I void > > +and back. > > +POSIX further requires that any pointer, > > +including pointers to functions, > > +may be converted to a pointer to > > +.I void >

PING [PATCH] x86: Require MMX for __builtin_ia32_maskmovq

2020-10-02 Thread H.J. Lu via Gcc-patches
On Mon, Sep 21, 2020 at 6:09 AM H.J. Lu wrote: > > On Mon, Sep 21, 2020 at 5:54 AM H.J. Lu wrote: > > > > Since "MASKMOVQ mm1, mm2" is an SSE instruction which requires MMX and > > MMX/SSE ISAs are handled separately, make __builtin_ia32_maskmovq require > > MMX instead of SSE. > > > > gcc/ > > >

Re: Perforate fnspec attribute strings

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > as discussed this patch makes return value and arg specifiers to be 2 > characters long and updates (I hope) all fnspec strings. > I also enabled part of the verification (just accepting the fortran bug > with 'R' and 'W' in return value specifiers) t

[PATCH] optimize permutes in SLP, remove vect_attempt_slp_rearrange_stmts

2020-10-02 Thread Richard Biener
This introduces a permute optimization phase for SLP which is intended to cover the existing permute eliding for SLP reductions plus handling commonizing the easy cases. It currently uses graphds to compute a postorder on the reverse SLP graph and it handles all cases vect_attempt_slp_rearrange_st

Re: Track access ranges in ipa-modref

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > this patch implements tracking of access ranges. This is only applied when > base pointer is an arugment. Incrementally i will extend it to also track > TBAA basetype so we can disambiguate ranges for accesses to same basetype > (which makes is quite

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 1, 2020, at 11:20 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >> Hi, Richard, >> >> To answer the question, which registers should be included in “ALL”. >> I studied X86 hard register set in more details. And also consulted with >> H.J.Lu, And found: >> >> In the curren

RE: [PATCH] arm: Remove coercion from scalar argument to vmin & vmax intrinsics

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi Joe, > -Original Message- > From: Gcc-patches On Behalf Of Joe > Ramsay > Sent: 13 August 2020 14:16 > To: Joe Ramsay ; gcc-patches@gcc.gnu.org > Subject: [PATCH] arm: Remove coercion from scalar argument to vmin & > vmax intrinsics > > From: Joe Ramsay > > Hi, > > This patch fixes

RE: [PATCH v2][GCC] arm: Add +nomve and +nomve.fp options to -mcpu=cortex-m55

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi Joe, > -Original Message- > From: Gcc-patches On Behalf Of Joe > Ramsay > Sent: 19 August 2020 17:12 > To: gcc-patches@gcc.gnu.org > Subject: [PATCH v2][GCC] arm: Add +nomve and +nomve.fp options to - > mcpu=cortex-m55 > > From: Joe Ramsay > > Hi all, > > This patch rearranges feat

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Andrew MacLeod via Gcc-patches
On 10/2/20 9:26 AM, Martin Liška wrote: Yes, you simply get all sorts of conditions that hold when a condition is true, not just those based on the SSA name you put in.  But it occured to me that the use-case is somewhat different - for switch-conversion you want to know whether the test _exactl

Re: [PATCH] options: Save and restore opts_set for Optimization and Target options

2020-10-02 Thread Stefan Schulze Frielinghaus via Gcc-patches
On Fri, Oct 02, 2020 at 10:46:33AM +0200, Jakub Jelinek wrote: > On Wed, Sep 30, 2020 at 03:24:08PM +0200, Stefan Schulze Frielinghaus via > Gcc-patches wrote: > > On Wed, Sep 30, 2020 at 01:39:11PM +0200, Jakub Jelinek wrote: > > > On Wed, Sep 30, 2020 at 01:21:44PM +0200, Stefan Schulze Frieling

[PATCH] AArch64: Add neoversev1_tunings struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This patch adds a Neoverse V1-specific tuning struct that currently is just a deduplication of the N1 struct it was using before and specifying the SVE width. This will allow us to tweak Neoverse V1 things in the future as needed. Bootstrapped and tested on aarch64-none-linux-gnu. Commit

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> > Going back to the default hook, I guess one option is: > > rtx zero = CONST0_RTX (reg_raw_mode[regno]); > rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); > if (!valid_insn_p (insn)) > sorry (…); “Sorry” here will tell the user that the implementation on th

[PATCH][GCC 9] AArch64: Add Neoverse V1 tuning struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This GCC 9 patch duplicates the Neoverse N1 tuning struct that's currently used for Neoverse V1 and AARCH64_EXTRA_TUNE_PREFER_ADVSIMD_AUTOVEC tune flag to prefer Advanced SIMD over SVE autovectorisation. Bootstrapped and tested on GCC 9, pushing to the branch. Thanks, Kyrill gcc/

[PATCH][GCC 8] AArch64: Add Neoverse V1 tuning struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This GCC 8 patch duplicates the Cortex-A72 tuning struct that's currently used for Neoverse V1 and AARCH64_EXTRA_TUNE_PREFER_ADVSIMD_AUTOVEC tune flag to prefer Advanced SIMD over SVE autovectorisation. Bootstrapped and tested on GCC 8, pushing to the branch. Thanks, Kyrill gcc/

[PATCH] arm: Add missing part number for Neoverse V1

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch adds vendor and part numbers which were missing from the initial entry for Neoverse V1 in AArch32 GCC. OK for trunk and backports to GCC 10 and 9? I believe GCC 8 handles these differently so that will need fixing separately. Thanks, Alex --- gcc/ChangeLog: * config/arm/arm

RE: [PATCH] arm: Add missing part number for Neoverse V1

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Alex Coplan > Sent: 02 October 2020 15:41 > To: gcc-patches@gcc.gnu.org > Cc: ni...@redhat.com; Richard Earnshaw ; > Ramana Radhakrishnan ; Kyrylo > Tkachov > Subject: [PATCH] arm: Add missing part number for Neoverse V1 > > This patch adds vendor and part

[PATCH][GCC 10] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 10. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 10 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt: Reg

[PATCH][GCC 9] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 9. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 9 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt: Regen

[PATCH][GCC 8] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 8. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 8 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt: Regen

RE: [PATCH][GCC 10] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Alex Coplan > Sent: 02 October 2020 15:49 > To: gcc-patches@gcc.gnu.org > Cc: ni...@redhat.com; Richard Earnshaw ; > Ramana Radhakrishnan ; Kyrylo > Tkachov > Subject: [PATCH][GCC 10] arm: Add support for Neoverse N2 CPU > > This patch backports the AArch32

[PATCH v4 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, I'm sorry I forgot to increase the version count. And given there are conversations continuing in old threads, you may mix them easily. I'm a bit lost in the emails too. I'll resend the latest patch (identically) as v4 (there's no v3, but this is the 4th time or so, so let's call it v

[PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul Egg

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Richard Sandiford via Gcc-patches
Qing Zhao writes: >> >> Going back to the default hook, I guess one option is: >> >> rtx zero = CONST0_RTX (reg_raw_mode[regno]); >> rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); >> if (!valid_insn_p (insn)) >> sorry (…); > > “Sorry” here will tell the user tha

[PATCH v4 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 2, 2020, at 10:15 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >>> >>> Going back to the default hook, I guess one option is: >>> >>> rtx zero = CONST0_RTX (reg_raw_mode[regno]); >>> rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); >>> if (!valid_i

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 1, 2020, at 11:20 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >> Hi, Richard, >> >> To answer the question, which registers should be included in “ALL”. >> I studied X86 hard register set in more details. And also consulted with >> H.J.Lu, And found: >> >> In the curren

[PATCH] libstdc++: Add C++2a synchronization support

2020-10-02 Thread Thomas Rodgers
From: Thomas Rodgers Updated patch incorporating latest feedback (revised). Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore * binary_semaphore * latch libstdc++-v3/ChangeLog: * include/Makefile.am (bits_hea

Re: [PATCH] optimize permutes in SLP, remove vect_attempt_slp_rearrange_stmts

2020-10-02 Thread Richard Sandiford via Gcc-patches
Richard Biener writes: > This introduces a permute optimization phase for SLP which is > intended to cover the existing permute eliding for SLP reductions > plus handling commonizing the easy cases. > > It currently uses graphds to compute a postorder on the reverse > SLP graph and it handles all

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Paul Eggert
On 10/2/20 8:14 AM, Alejandro Colomar wrote: +.I void * GNU style is a space between "void" and "*", so this should be '.I "void\ *"', both here and elsewhere. The backslash prevents a line break. +Conversions from and to any other pointer type are done implicitly, +not requiring casts at

c++: cleanup ctor_omit_inherited_parms [PR97268]

2020-10-02 Thread Nathan Sidwell
ctor_omit_inherited_parms was being somewhat abused. What I'd missed is that it checks for a base-dtor name, before proceeding with the check. But we ended up passing it that during cloning before we'd completed the cloning. It was also using DECL_ORIGIN to get to the in-charge ctor, but we so

Project Ranger Submission / On Demand VRP

2020-10-02 Thread Andrew MacLeod via Gcc-patches
Where to start?   This is the culmination of numerous years work on the ranger for generating accurate on-demand ranges in GCC. There are 2 patch sets as a part of this submission 1)  The ranger &  Enhancements to EVRP 3)  Other passes converted to Ranger There is still some missing functiona

[PATCH 1/6] Ranger patches.

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This patch set contains the various components that make up a ranger. Ranger files are prefixed by   "gimple-range". gimple-range-cache.{h,cc} :   Various caches used by the ranger. gimple-range-edge.{h,cc} :    Outgoing edge range calculations, particularly switch edge ranges. gimple-range-gor

[PATCH 2/6] gimple-range-edge

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This file produces constant edge ranges.  It provides a class which can be instantiated and will return the range on any edge. This was originally suppose to be trivial, but switches mucked that up :-) There are 2 basic expressions that can result ina  constant range on an edge: Note there is

[PATCH 3/6] gimple-range-gori

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This is the true core of the ranger. The GORI (Generates Outgoing Range Information) engine contains all the smarts to utilize the functionality provided via range-ops in order to calculate outgoing ranges on an edge, based on the control flow at the exit. It functions *only* at the basic blo

[PATCH 4/6] gimple-range-cache

2020-10-02 Thread Andrew MacLeod via Gcc-patches
These are the various caches used by the ranger. - non-null-ref :  Tracks non-null pointer dereferences in blocks so we can properly calculate non-null pointer ranges - on entry cache : Block ranges tracks the calucalted values sof ssa-names on entry to each basic block. - global cache:  Stores

[PATCH 5/6] gimple-range

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This is the ranger component that pulls all the others bits together. Its API is basically the range_query we've already pushed into the compiler. The main ones a client are likely to use are bool range_of_stmt (irange &r, gimple *, tree name = NULL) bool range_of_expr (irange &r, tree name, g

[PATCH 6/6] Hybrid EVRP

2020-10-02 Thread Andrew MacLeod via Gcc-patches
The patch switches to a hybrid EVRP pass which utilizes both the Ranger and the classic EVRP pass. it introduces a new undocumented option: -fevrp-mode=   which can be one of the following options evrp-only    : This is classic EVRP mode, identical to whats in trunk now. rvrp-only     : This r

*PING^2* [PATCH] doc: gcc.c: Update documentation for spec files

2020-10-02 Thread Armin Brauns via Gcc-patches
On 06/09/2020 17.23, Armin Brauns wrote: > There were some differences between the actual code in do_spec_1, its > source comment, and the documentation in doc/invoke.texi. These should > now be resolved. PING: https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553321.html

Re: [PATCH] Fix build of ppc64 target.

2020-10-02 Thread Segher Boessenkool
On Fri, Oct 02, 2020 at 10:46:12AM +0200, Aldy Hernandez wrote: > On 10/2/20 2:17 AM, David Edelsohn wrote: > >On Thu, Oct 1, 2020 at 8:02 PM Andrew MacLeod wrote: > >Thanks for investigating. And I definitely am not suggesting that you > >delay the great progress on Ranger to flatten and compact

Re: [Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Joseph Myers
On Fri, 2 Oct 2020, Tobias Burnus wrote: > However, this flag can be added into the offload-target's libgomp.spec, > which avoids all kind of issues. That's what this patch now does. > > I tested it with x86_64-gnu-linux w/o + w/ nvptx-none. Result: > * x86_64-gnu-linux's libgomp.spec: > "*link

Re: [Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Jakub Jelinek via Gcc-patches
On Fri, Oct 02, 2020 at 05:33:13PM +, Joseph Myers wrote: > On Fri, 2 Oct 2020, Tobias Burnus wrote: > > > However, this flag can be added into the offload-target's libgomp.spec, > > which avoids all kind of issues. That's what this patch now does. > > > > I tested it with x86_64-gnu-linux w/

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Paul Eggert
Why describe __int128_t in these man pages at all? __int128_t is not a property of either the kernel or of glibc, so it's out of scope.

Re: [rs6000] Avoid useless masking of count operand for rotation

2020-10-02 Thread Segher Boessenkool
Hi Eric, On Fri, Oct 02, 2020 at 10:26:24AM +0200, Eric Botcazou wrote: > > Don't call it "mask" please: *all* of our basic rotate instructions > > already have something called "mask" (that is the "m" in "rlwnm" for > > example; and "rotlw d,a,b" is just an extended mnemonic for > > "rlwnm d,a,b,

c++: Hash table iteration for namespace-member spelling suggestions

2020-10-02 Thread Nathan Sidwell
For 'no such binding' errors, we iterate over binding levels to find a close match. At the namespace level we were using DECL_ANTICIPATED to skip undeclared builtins. But (a) there are other unnameable things there and (b) decl-anticipated is about to go away. This changes the namespace scanni

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 18:53, Paul Eggert wrote: > On 10/2/20 8:14 AM, Alejandro Colomar wrote: > >> +.I void * > > GNU style is a space between "void" and "*", so this should be '.I > "void\ *"', both here and elsewhere. The backslash prevents a line break. .I void * renders with a space in be

Re: [PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-02 Thread Segher Boessenkool
Hi! On Fri, Oct 02, 2020 at 04:41:05PM +0930, Alan Modra wrote: > This moves an #ifdef block of code from calls.c to > targetm.function_ok_for_sibcall. Only two targets, x86 and rs6000, > define REG_PARM_STACK_SPACE or OUTGOING_REG_PARM_STACK_SPACE macros > that might vary depending on the called

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 19:52, Paul Eggert wrote: Why describe __int128_t in these man pages at all? __int128_t is not a property of either the kernel or of glibc, so it's out of scope. Well, as I see it, [unsigned] __int128 is as good as [u]int64_t. They are part of the C interface in Linux. A

c++: Kill DECL_ANTICIPATED

2020-10-02 Thread Nathan Sidwell
Here's the patch to remove DECL_ANTICIPATED, and with it hiddenness is managed entirely in the symbol table. Sadly I couldn't get rid of the actual field without more investigation -- it's repurposed for OMP_PRIVATIZED_MEMBER. It looks like a the VAR-related flags in lang_decl_base are not comp

[PATCH v5 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, Here I added a wfix fixing some wording issues and a few typos spotted by Paul and Jonathan in the (many) threads. As previously, it is squashed into a single commit. Thanks again for those who reviewed the patch! BTW, for those who don't have a local repo of the man-pages, below yo

[PATCH v5 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

[PATCH v5 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul Egg

  1   2   >