Re: [PATCH v3 3/3] PR80791 Consider doloop cmp use in ivopts

2019-07-20 Thread Bin.Cheng
On Wed, Jun 19, 2019 at 7:47 PM Kewen.Lin wrote: > > Hi all, > > This is the following patch after > https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00910.html > > Main steps: > 1) Identify the doloop cmp type iv use and record its bind_cand (explain it > later). > 2) Set zero cost for pairs

Re: cp: implementation of p1301 for C++

2019-07-20 Thread Segher Boessenkool
On Sat, Jul 20, 2019 at 03:48:40PM -0600, Martin Sebor wrote: > On 7/20/19 11:29 AM, JeanHeyd Meneide wrote: > >+[[nodiscard(123)]] int check1 (void); /* { dg-error "nodiscard attribute > >argument.*must be a string" } */ > > Using .* might be safe in a test with a single line of output but > not

Re: cp: implementation of p1301 for C++

2019-07-20 Thread Martin Sebor
On 7/20/19 11:29 AM, JeanHeyd Meneide wrote: Dear GCC Community, This patch implements the recently accepted p1301: [[nodiscard("should have a reason")]]. Aaron Ballman implemented it for Clang in http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190715/280158.html -- this is in

Re: [PATCH,RFC,V4 4/5] CTF generation for a single compilation unit

2019-07-20 Thread Indu Bhagat
This patch was missing a stub from Makefile.in diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 5487377..0994f3b 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1257,6 +1257,8 @@ OBJS = \ cfgloopmanip.o \ cfgrtl.o \ ctfout.o \ + ctfutils.o \ +

Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2)

2019-07-20 Thread Matthias Klose
On 14.06.19 15:09, Gaius Mulley wrote: I checked that gm2 cross compilers can be built. One minor nit: The man page is installed without suffix and prefix. gcc/gm2/Make-lang.in has GM2_CROSS_NAME = `echo gm2|sed '$(program_transform_cross_name)'` The program_transform_cross_name macro was

cp: implementation of p1301 for C++

2019-07-20 Thread JeanHeyd Meneide
Dear GCC Community, This patch implements the recently accepted p1301: [[nodiscard("should have a reason")]]. Aaron Ballman implemented it for Clang in http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190715/280158.html -- this is in preparation for a paper that will soon go to the

[PATCH 3/4] rs6000: Make input_operand use any_memory_operand

2019-07-20 Thread Segher Boessenkool
2019-07-20 Segher Boessenkool * config/rs6000/predicates.md (input_operand): Allow volatile memory. --- gcc/config/rs6000/predicates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index

[PATCH 2/4] rs6000: Make lwa_operand use any_memory_operand

2019-07-20 Thread Segher Boessenkool
Testcase from comex, see https://lwn.net/Articles/793932/ . 2019-07-20 Segher Boessenkool * config/rs6000/predicates.md (lwa_operand): Allow volatile memory. gcc/testsuite/ * gcc.target/powerpc/volatile-mem.c: New testcase. --- gcc/config/rs6000/predicates.md

[PATCH 4/4] rs6000: Make offsettable_mem_operand use any_memory_operand

2019-07-20 Thread Segher Boessenkool
2019-07-20 Segher Boessenkool * config/rs6000/predicates.md (offsettable_mem_operand): Allow volatile memory. --- gcc/config/rs6000/predicates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/predicates.md

[PATCH 1/4] rs6000: New predicate any_memory_operand

2019-07-20 Thread Segher Boessenkool
The new predicate accepts both memory_operand and volatile_mem_operand. 2019-07-20 Segher Boessenkool * config/rs6000/predicates.md (volatile_mem_operand): Modernize syntax. (any_memory_operand): New predicate. (reg_or_mem_operand): Use it. ---

[PATCH 0/4] rs6000: Improve volatile memory handling

2019-07-20 Thread Segher Boessenkool
Most of our loads and stores are atomic when done on aligned operands. This patch series cleans up our handling of that a little bit, and makes us handle a few more cases. The lwa_operand one has a testcase, which is how I noticed this could use some improvement. Looking at the combine dump for

[PATCH] parisc: Move declaration.

2019-07-20 Thread John David Anglin
This patch moves to declaration of hppa_profile_hook to pa-protos.h. Tested on hppa-unknown-linux-gnu. Committed to trunk. Dave -- John David Anglin dave.ang...@bell.net 2019-07-20 John David Anglin * config/pa/pa.h (hppa_profile_hook): Delete declaration. *

Re: [PATCH,fortran] Handle BOZ in accordance to Fortran 2018 standard

2019-07-20 Thread Jerry DeLisle
On 7/17/19 8:32 PM, Steve Kargl wrote: I will be away until Monday. Plenty of time for a review. ---snip -- Something not quite right here in this comment. +/* A BOZ literal constant can appear in a limited number of contexts. + gfc_invalid_boz() is a help function to simplify

Re: [PATCH]: Fix ICE in expand_expr_real_2 (PR target/91204)

2019-07-20 Thread Richard Biener
On July 20, 2019 8:45:38 AM GMT+02:00, Jakub Jelinek wrote: >On Fri, Jul 19, 2019 at 04:41:06PM +0200, Uros Bizjak wrote: >> As suggested by Jakub in the PR, add missing vector one_cmpl2 >to >> mmx.md. A generic fix is in the works by Jakub. > >Yes, here it is. Bootstrapped/regtested on

Re: [PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-20 Thread David Edelsohn
On Sat, Jul 20, 2019 at 12:13 PM Michael Meissner wrote: > > I will be iterating on patch #9 and sending out a replacement shortly. > > This is patch #10. It moves the various data structures from rs6000.c to > rs6000-internal.h. In the future, it will allow us to move more things from >

[PATCH], Patch #10, move PowerPC data structures & helper functions from rs6000.c to rs6000-internal.h

2019-07-20 Thread Michael Meissner
I will be iterating on patch #9 and sending out a replacement shortly. This is patch #10. It moves the various data structures from rs6000.c to rs6000-internal.h. In the future, it will allow us to move more things from rs6000.c to other files. In particular, I plan on adding a

[C++ PATCH] Fix ICE on class template argument deduction with inherited ctor.

2019-07-20 Thread Jason Merrill
In general, when we see a dependent using-declaration we don't know whether it names a function or not, so it doesn't get an OVERLOAD unless we see overloads of the same name in the current class. In the case of an inherited constructor we could figure that out from the name, but it's simpler to

[C++ PATCH] Reduce memory consumption for push/pop_access_scope.

2019-07-20 Thread Jason Merrill
I was seeing memory consumption issues on the concepts-cxx2a branch. push_scope was, surprisingly, at the top of -fmem-report, and push_access_scope was pretty high. Fixing them was pretty simple. Tested x86_64-pc-linux-gnu, applying to trunk. * name-lookup.c (leave_scope): Do add class

[committed] Add {target ,}{teams ,parallel ,}loop construct support

2019-07-20 Thread Jakub Jelinek
Hi! The following patch adds support for the OpenMP loop construct and constructs combined with it. Depending on the binding, it is for now lowered to distribute parallel for simd, for simd or simd. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2019-07-20 Jakub

Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git

2019-07-20 Thread Maxim Kuvyrkov
> On Jul 16, 2019, at 5:14 PM, Maxim Kuvyrkov wrote: > >> On Jul 16, 2019, at 3:34 PM, Jason Merrill wrote: >> ... >> >>> b. Re-write tags/ branches into annotated tags. Note that tags/* are >>> included into history of several branches via merge or copy commits, so we >>> would need to

[PATCH]: Fix ICE in expand_expr_real_2 (PR target/91204)

2019-07-20 Thread Jakub Jelinek
On Fri, Jul 19, 2019 at 04:41:06PM +0200, Uros Bizjak wrote: > As suggested by Jakub in the PR, add missing vector one_cmpl2 to > mmx.md. A generic fix is in the works by Jakub. Yes, here it is. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-07-20 Jakub Jelinek

[committed] Improve simd with a single lastprivate iterator

2019-07-20 Thread Jakub Jelinek
Hi! While the iterator of a simd collapse(1) loop is predetermined linear, in OpenMP 5 one can specify it also explicitly in a linear, lastprivate or private clause. The following testcase shows that we weren't vectorizing those if the iterator wasn't addressable and has been explicitly