Re: [PATCH 1/7 V4] ifn/optabs: Support vector load/store with length

2020-06-22 Thread Richard Biener
On Mon, 22 Jun 2020, Richard Sandiford wrote: > "Kewen.Lin" writes: > > @@ -5167,6 +5167,24 @@ mode @var{n}. > > > > This pattern is not allowed to @code{FAIL}. > > > > +@cindex @code{lenload@var{m}} instruction pattern > > +@item @samp{lenload@var{m}} > > +Perform a vector load with length

[patch, fortran, committed] Fix PR 95812, ICE in dependency analysis

2020-06-22 Thread Thomas Koenig via Gcc-patches
Hello world, I just committed the attached patch to master as obvious and simple after regression-testing. Will also backport to gcc-10, where the original regression occurred. Regards Thomas Handle AR_FULL vs. AR_FULL in dependency checking. Previously, handling of full vs. full ref

[PATCH 2/7 v4] rs6000: lenload/lenstore optab support

2020-06-22 Thread Kewen.Lin via Gcc-patches
Hi, V4: Update define_expand names as optab name changes. V3: Update the define_expand as optab changes. BR, Kewen - gcc/ChangeLog: 2020-MM-DD Kewen Lin * config/rs6000/vsx.md (len_load_): New define_expand. (len_store_): Likewise. diff --git a/gcc/config/rs6000/vsx.md

[PATCH 1/7 v5] ifn/optabs: Support vector load/store with length

2020-06-22 Thread Kewen.Lin via Gcc-patches
Hi Richard, Thanks for your comments! on 2020/6/23 上午3:59, Richard Sandiford wrote: > "Kewen.Lin" writes: >> @@ -5167,6 +5167,24 @@ mode @var{n}. >> >> This pattern is not allowed to @code{FAIL}. >> >> +@cindex @code{lenload@var{m}} instruction pattern >> +@item @samp{lenload@var{m}} >> +Pe

Re: [PATCHv6] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Nicholas Krause via Gcc-patches
On 6/22/20 10:01 PM, Marek Polacek wrote: On Mon, Jun 22, 2020 at 09:42:51PM -0400, Nicholas Krause via Gcc-patches wrote: From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomp

[PATCH] c++: Make convert_like complain about bad ck_ref_bind again [PR95789]

2020-06-22 Thread Marek Polacek via Gcc-patches
convert_like issues errors about bad_p conversions at the beginning of the function, but in the ck_ref_bind case, it only issues them after we've called convert_like on the next conversion. This doesn't work as expected since r10-7096 because when we see a conversion from/to class type in a templa

Re: [PATCHv6] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Marek Polacek via Gcc-patches
On Mon, Jun 22, 2020 at 09:42:51PM -0400, Nicholas Krause via Gcc-patches wrote: > From: Nicholas Krause > > This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in > cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing > incomplete template pack expansion cases. In

[PATCHv6] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Nicholas Krause via Gcc-patches
From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomplete template pack expansion cases. In v2, add the missing required test case for all new patches. v3 Fixes both the test case to

Re: [PATCHv5] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Nicholas Krause via Gcc-patches
On 6/22/20 7:47 PM, Marek Polacek wrote: On Mon, Jun 22, 2020 at 06:55:01PM -0400, Nicholas Krause via Gcc-patches wrote: On 6/22/20 5:51 PM, Jason Merrill wrote: On 6/22/20 4:01 PM, Nicholas Krause wrote: From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPAN

Re: [PATCHv5] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Marek Polacek via Gcc-patches
On Mon, Jun 22, 2020 at 06:55:01PM -0400, Nicholas Krause via Gcc-patches wrote: > > > On 6/22/20 5:51 PM, Jason Merrill wrote: > > On 6/22/20 4:01 PM, Nicholas Krause wrote: > > > From: Nicholas Krause > > > > > > This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in > > > cx

Re: [PATCH] simplify-rtx: Two easy pieces.

2020-06-22 Thread Segher Boessenkool
Hi! On Sat, Jun 20, 2020 at 05:25:23PM +0100, Roger Sayle wrote: > It's great to hear from you again. It's been a while. And from you! Yes, wow, it is 2020 now, how did that happen! > >On Fri, Jun 19, 2020 at 09:42:54PM +0100, Roger Sayle wrote: > >> My recent patch to add scalar integer simp

Re: [PATCHv5] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Nicholas Krause via Gcc-patches
On 6/22/20 5:51 PM, Jason Merrill wrote: On 6/22/20 4:01 PM, Nicholas Krause wrote: From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomplete template pack expansion cases. In

Re: [PATCH] handle MEM_REF with void* arguments (PR c++/95768)

2020-06-22 Thread Martin Sebor via Gcc-patches
On 6/22/20 12:55 PM, Jason Merrill wrote: On 6/22/20 1:25 PM, Martin Sebor wrote: The attached fix parallels the one for the equivalent C bug 95580 where the pretty printers don't correctly handle MEM_REF arguments with type void* or other pointers to an incomplete type. The incorrect handling

Re: [PATCH 1/7 V4] ifn/optabs: Support vector load/store with length

2020-06-22 Thread Segher Boessenkool
Hi! On Mon, Jun 22, 2020 at 08:59:48PM +0100, Richard Sandiford wrote: > "Kewen.Lin" writes: > > @@ -5167,6 +5167,24 @@ mode @var{n}. > > > > This pattern is not allowed to @code{FAIL}. > > > > +@cindex @code{lenload@var{m}} instruction pattern > > +@item @samp{lenload@var{m}} > > +Perform a

Re: [PATCHv5] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Jason Merrill via Gcc-patches
On 6/22/20 4:01 PM, Nicholas Krause wrote: From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomplete template pack expansion cases. In v2, add the missing required test case for al

Re: [PATCH v2] Fix use of singleton in optinfo framework (PING)

2020-06-22 Thread Gustavo Romero via Gcc-patches
Hi folks, On 5/26/20 8:15 PM, Gerald Pfeifer wrote: Okay to backport c00568f376078129196740d83946d54dc5437401 to the GCC 9 branch, Jakub? I don't see it yet on 9, so if 9 is still open for pushes I'd like too to see that commit applied to 9 (it should apply cleanly). For the records, the comm

RE: [PATCH] simplify-rtx: Two easy pieces.

2020-06-22 Thread Joseph Myers
On Sat, 20 Jun 2020, Hans-Peter Nilsson wrote: > Hi! Good to see you "back"! > > On Sat, 20 Jun 2020, Roger Sayle wrote: > > Thanks to you too. Alas, my credentials from the CVS days of GCC almost > > certainly don't > > work any more (in git), > > My guess is that your credentials are fine (p

[PATCHv5] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Nicholas Krause via Gcc-patches
From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomplete template pack expansion cases. In v2, add the missing required test case for all new patches. v3 Fixes both the test case to

Re: [PATCH 1/7 V4] ifn/optabs: Support vector load/store with length

2020-06-22 Thread Richard Sandiford
"Kewen.Lin" writes: > @@ -5167,6 +5167,24 @@ mode @var{n}. > > This pattern is not allowed to @code{FAIL}. > > +@cindex @code{lenload@var{m}} instruction pattern > +@item @samp{lenload@var{m}} > +Perform a vector load with length from memory operand 1 of mode @var{m} > +into register operand

Re: [PATCH take 2] middle-end: Optimize (A&C)^(B&C) to (A^B)&C in simplify_rtx.

2020-06-22 Thread Richard Sandiford
Hi Roger, Thanks for the update and sorry for the slow reply. "Roger Sayle" writes: > As suggested by Richard Sandiford, this patch splits out the > previous RTL simplification, of (X&C)^(Y&C) to (X^Y)&C, to its > own function, simplify_distributive_operation, and calls it when > appropriate for

Re: [PATCH] recog: Use parameter packs for operator()

2020-06-22 Thread Richard Sandiford
Gerald Pfeifer writes: > On Thu, 18 Jun 2020, Sebastian Huber wrote: >> b952c2cfcd74c284970e1b9bf1fca58f5f69ab23 on 10th of June. I build GCC >> roughly once per week. > > I have daily builds running on i386-unknown-freebsd11.3 (since this is > the flavor most likely to trigger issues) and the fa

Re: [PATCH] calls.c precompute_register_parameters for TLS

2020-06-22 Thread Richard Sandiford
David Edelsohn writes: > On Sun, Mar 29, 2020 at 6:44 AM Richard Sandiford > wrote: >> Well, this is all about what (symbol_ref NAME) means for a TLS symbol >> (with NAME always assumed to be TLS below). For all GCC ports it means >> the actual address of NAME for the current thread. AIUI that

Re: [PATCHv4] Handle TYPE_PACK_EXPANSION in cxx_incomplete_type_diagnostic

2020-06-22 Thread Jason Merrill via Gcc-patches
On 6/21/20 3:00 PM, Nicholas Krause wrote: From: Nicholas Krause This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing incomplete template pack expansion cases. In v2, add the missing required test case for al

Re: [PATCH] handle MEM_REF with void* arguments (PR c++/95768)

2020-06-22 Thread Jason Merrill via Gcc-patches
On 6/22/20 1:25 PM, Martin Sebor wrote: The attached fix parallels the one for the equivalent C bug 95580 where the pretty printers don't correctly handle MEM_REF arguments with type void* or other pointers to an incomplete type. The incorrect handling was exposed by the recent change to -Wunini

Re: [PATCH] calls.c precompute_register_parameters for TLS

2020-06-22 Thread David Edelsohn via Gcc-patches
On Sun, Mar 29, 2020 at 6:44 AM Richard Sandiford wrote: > > David Edelsohn writes: > > On Sat, Mar 28, 2020 at 6:42 AM Richard Sandiford > > wrote: > >> > >> David Edelsohn via Gcc-patches writes: > >> > This patch is for an AIX problem, but the only robust solution is in > >> > common code: c

[PING][PATCH] underline null argument in -Wnonnull (PR c++/86568)

2020-06-22 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2020-June/547415.html Jason already approved the C++ changes (with a couple of minor tweaks). I'm still looking for an approval of the corresponding middle end diff. On 6/5/20 1:41 PM, Martin Sebor wrote: The caret location C++ -Wnonnull warnings

[PATCH] handle MEM_REF with void* arguments (PR c++/95768)

2020-06-22 Thread Martin Sebor via Gcc-patches
The attached fix parallels the one for the equivalent C bug 95580 where the pretty printers don't correctly handle MEM_REF arguments with type void* or other pointers to an incomplete type. The incorrect handling was exposed by the recent change to -Wuninitialized which includes such expressions

[PATCH][GCC-10 Backport] arm: Fix the failing mve scalar shift execution tests.

2020-06-22 Thread Srinath Parvathaneni
Hello, In GCC testsuite the MVE scalar shift execution tests (mve_scalar_shifts[1-4].c) are failings because of executing them on target hardware which doesn't support MVE instructions. This patch restricts those tests to execute only on target hardware that support MVE instructions. Regressio

RE: [PATCH][GCC] arm: Fix the failing mve scalar shift execution tests.

2020-06-22 Thread Kyrylo Tkachov
> -Original Message- > From: Srinath Parvathaneni > Sent: 18 June 2020 14:29 > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov > Subject: [PATCH][GCC] arm: Fix the failing mve scalar shift execution tests. > > Hello, > > In GCC testsuite the MVE scalar shift execution tests > (mve_

Re: drop -aux{dir,base}, revamp -dump{dir,base}

2020-06-22 Thread Alexandre Oliva
On Jun 22, 2020, Tobias Burnus wrote: > On 6/22/20 8:08 AM, Alexandre Oliva wrote: >>> I additionally did run the test case manually β†’ files.log for the >>> produced files. >> This is with -save-temps, right? > Yes. Without, there are no files left under /tmp and only > nvptx-merged-loop.xnvpt

[PATCH 1/2] [OpenACC] Refuse update/copyout for blocks with attached pointers

2020-06-22 Thread Julian Brown
As mentioned in the parent email, this patch adds diagnostics for probably-broken code that updates (host/device) or copies-out blocks that still have attached pointers. Several new tests have been added. OK? Julian ChangeLog libgomp/ * oacc-mem.c (update_dev_host): Raise error

[PATCH 0/2] [OpenACC] Attached deep-copy pointers, diagnostics & modifications

2020-06-22 Thread Julian Brown
Investigating PR95590, I realised that we can do better at diagnosing some potentially troublesome usage of OpenACC "attach" behaviour, namely updating blocks with attached pointers. Updating either the host copy or device copy of such a block is problematic -- for a host update, the host may get a

[PATCH 2/2] [OpenACC] Detect pointer updates for attach operations (PR95590)

2020-06-22 Thread Julian Brown
As mentioned in the parent email, this is a fix for PR95590 that detects updates of attached pointers in blocks, and rewrites the attached pointer and resets its attachment counter appropriately. I am however not entirely sure this is desirable or required by the spec: points against are: - To av

[PATCH] Fix PR95770

2020-06-22 Thread Richard Biener via Gcc-patches
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. Richard. p Description: Binary data

[committed] amdgcn: Pass vector parameters in memory

2020-06-22 Thread Andrew Stubbs
This patch ensures that programs using vector extensions to pass vectors to functions pass the vectors in memory. Even though we could technically do this in registers, the ABI would have to be reworked to do so, and there's no call for that yet (maybe if we want vector libgcc/libm). This ch

Re: [PATCH] Fix target clone indirection elimination.

2020-06-22 Thread Richard Biener via Gcc-patches
On Sun, Jun 21, 2020 at 2:32 AM Yichao Yu via Gcc-patches wrote: > > On Sat, Jun 20, 2020 at 8:16 PM Yichao Yu wrote: > > > > On Sat, Jun 20, 2020 at 3:41 PM Yichao Yu wrote: > > > > > > On Sat, Jun 20, 2020 at 3:26 PM Yichao Yu wrote: > > > > > > > > On Sat, Jun 20, 2020 at 3:25 PM H.J. Lu wr

Re: [PATCH] x86: Skip EXT_REX_SSE_REG_P for vzeroupper optimization

2020-06-22 Thread Richard Biener via Gcc-patches
On Sun, Jun 21, 2020 at 1:06 AM H.J. Lu via Gcc-patches wrote: > > Skip EXT_REX_SSE_REG_P for vzeroupper optimization since upper 16 vector > registers don't trigger SSE <-> AVX transition penalty. OK. Richard. > gcc/ > > PR target/95791 > * config/i386/i386.c (ix86_dirflag_mode

Re: [PATCH] Fix target clone indirection elimination (PR95778, PR95780)

2020-06-22 Thread Richard Biener via Gcc-patches
On Sat, Jun 20, 2020 at 6:17 PM Yichao Yu via Gcc-patches wrote: > > > The current logic seems to be comparing the whole attribute tree between the > callee > and caller (or at least the tree starting from the target attribute). > This is unnecessary and causes strange dependency of the indirecti

[committed] openmp: Compute triangular loop number of iterations at compile time

2020-06-22 Thread Jakub Jelinek via Gcc-patches
Hi! This patch handles the compile time computation of number of loop iterations. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2020-06-22 Jakub Jelinek * omp-general.c (omp_extract_for_data): For triangular loops with all loop invariant expressio

[PATCH 1/7 V4] ifn/optabs: Support vector load/store with length

2020-06-22 Thread Kewen.Lin via Gcc-patches
Hi, v4: Update len_load_direct/len_store_direct to align with direct optab. v3: Get rid of length mode hook. Thanks for reviewing! BR, Kewen --- gcc/ChangeLog: 2020-MM-DD Kewen Lin * doc/md.texi (lenload@var{m}): Document. (lenstore@var{m}): Likewise. * internal-fn.

[PATCH][GCC][Arm] PR target/95646: Do not clobber callee saved registers with CMSE

2020-06-22 Thread Andre Vieira (lists)
Hi, As reported in bugzilla when the -mcmse option is used while compiling for size (-Os) with a thumb-1 target the generated code will clear the registers r7-r10. These however are callee saved and should be preserved accross ABI boundaries. The reason this happens is because these registers

[PATCH 5/7 v5] vect: Support vector load/store with length in vectorizer

2020-06-22 Thread Kewen.Lin via Gcc-patches
Hi, v5 changes against v4: - Updated the conditions of clearing LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P in vectorizable_condition (which fixed the aarch reg failure). - Rebased and updated some macro and function names as the renaming/refactoring patch. - Updated some comments and dumpi

[PATCH v4] arm: Implement Armv8.1-M low overhead loops

2020-06-22 Thread Andrea Corallo
Hi all, here the latest version of the patch to enable Armv8.1-M Mainline LOB (low overhead branch) extension low overhead loops (LOL) feature using the 'loop-doloop' pass. I posted a previous version of it during stage 4. Given the following function: void loop (int *a) { for (int i = 0; i <

Re: drop -aux{dir,base}, revamp -dump{dir,base}

2020-06-22 Thread Tobias Burnus
On 6/22/20 8:08 AM, Alexandre Oliva wrote: I additionally did run the test case manually β†’ files.log for the produced files. This is with -save-temps, right? Yes. Without, there are no files left under /tmp and only nvptx-merged-loop.xnvptx-none.mkoffload.309r.mach nvptx-merged-loop.exe in