[committed] Add OpenMP 5 exclusive scan support for simd constructs

2019-06-20 Thread Jakub Jelinek
Hi! The following patch adds exclusive scan support for simd, it is similar to the inclusive scan, just we need to swap the input and scan phases and use slightly different pattern at the start of the scan phase, so that it computes what we need. Bootstrapped/regtested on x86_64-linux and i686-li

[committed] Fix OpenMP reference handling to incomplete type during template processing (PR c++/90950)

2019-06-20 Thread Jakub Jelinek
Hi! As the testcase shows, if we have a clause with reference to dependent type, during the processing_template_decl finish_omp_clauses we would reject it rather than deferring checking of that until instantiation. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, committed to

[committed] Support 1-byte elements of "omp simd array" arrays during vectorization

2019-06-20 Thread Jakub Jelinek
Hi! The following testcase which I wrote in order to test ncopies > 1 handling of the inclusive scan vectorization reveals we don't vectorize that, because we required MULT_EXPR on the DR_OFFSET, but obviously for 1 byte elements there is none. Fixed thusly, bootstrapped/regtested on x86_64-linux

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Hongtao Liu
On Fri, Jun 21, 2019 at 1:56 PM Uros Bizjak wrote: > > On Fri, Jun 21, 2019 at 4:21 AM Hongtao Liu wrote: > > > > On Thu, Jun 20, 2019 at 10:58 PM H.J. Lu wrote: > > > > > > On Thu, Jun 20, 2019 at 3:54 AM Hongtao Liu wrote: > > > > > > > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: >

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Uros Bizjak
On Fri, Jun 21, 2019 at 4:21 AM Hongtao Liu wrote: > > On Thu, Jun 20, 2019 at 10:58 PM H.J. Lu wrote: > > > > On Thu, Jun 20, 2019 at 3:54 AM Hongtao Liu wrote: > > > > > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > > > > > > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: >

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Hongtao Liu
On Thu, Jun 20, 2019 at 7:37 PM Uros Bizjak wrote: > > On Thu, Jun 20, 2019 at 12:54 PM Hongtao Liu wrote: > > > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > > > > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: > > > > > > > > On Sat, Jun 8, 2019 at 4:12 AM Uros Bizjak wrote:

Re: Deque fiil/copy/move/copy_backward/move_backward/equal overloads

2019-06-20 Thread François Dumont
And thanks for noticing that not only user code will be improved but also our own algos ! I'll reference this PR if accepted. On 6/20/19 10:38 AM, Morwenn Ed wrote: That's actually a solution to bug 90409, thanks for it :) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90409 Morwenn

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Hongtao Liu
On Thu, Jun 20, 2019 at 10:58 PM H.J. Lu wrote: > > On Thu, Jun 20, 2019 at 3:54 AM Hongtao Liu wrote: > > > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > > > > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: > > > > > > > > On Sat, Jun 8, 2019 at 4:12 AM Uros Bizjak wrote: > >

Re: [RFA] [PR tree-optimization/90949] Don't propagate context sensitive non-nullness when copy-propagating pointers

2019-06-20 Thread Martin Sebor
On 6/20/19 4:23 PM, Jeff Law wrote: As outlined in the BZ, our alias analysis code is context insensitive. So when we copy-propagate pointers, we can can and do copy PTA information from members to the representative pointer in the copy-of chain (we do this when the representative pointer has no

Re: [PATCH] improve ifcvt optimization (PR rtl-optimization/89430)

2019-06-20 Thread Jeff Law
On 6/20/19 3:53 AM, JiangNing OS wrote: > Hi Jeff, > > Appreciate your effort to review my patch! I've updated my patch as attached. > See my answers below. > >> in current function, so the store speculation can be avoided. >> So at a high level should we be doing this in gimple rather than RTL?

Re: [PATCH] Wrap 'expand_all_functions' and 'ipa_passes' around timevars

2019-06-20 Thread Jeff Law
On 6/19/19 2:26 PM, Giuliano Belinassi wrote: > On 06/19, Jeff Law wrote: >> On 1/24/19 12:51 PM, Giuliano Belinassi wrote: >>> This patch adds two variables named 'TV_CGRAPH_FUNC_EXPANSION' and >>> 'TV_CGRAPH_IPA_PASSES' that count the elapsed time of the functions >>> 'expand_all_functions' and

C++ PATCH to add test for c++/79781

2019-06-20 Thread Marek Polacek
This one was fixed by r246607. Not adding it to c-c++-common/ because the C FE generates an error. Tested x86_64-linux, applying to trunk. 2019-06-20 Marek Polacek PR c++/79781 * g++.dg/ext/goto1.C: New test. diff --git gcc/testsuite/g++.dg/ext/goto1.C gcc/testsuite/g++.dg/e

[RFA] [PR tree-optimization/90949] Don't propagate context sensitive non-nullness when copy-propagating pointers

2019-06-20 Thread Jeff Law
As outlined in the BZ, our alias analysis code is context insensitive. So when we copy-propagate pointers, we can can and do copy PTA information from members to the representative pointer in the copy-of chain (we do this when the representative pointer has no associated PTA information). However,

[Committed] A target in pointer initialization requires SAVE

2019-06-20 Thread Steve Kargl
In taking a look at PR fortran/77632, I stumbled acrossed the testcase in the attached patch cause an ICE. I originally thought that it was realated to the topic of the PR, but is in fact an unrelated bug. If a variable is a target in a pointer initialization, then it must have the SAVE attribut

C++ PATCH to add test for c++/68265

2019-06-20 Thread Marek Polacek
This funny one got fixed by r258549. Tested x86_64-linux, applying to trunk. 2019-06-20 Marek Polacek PR c++/68265 * g++.dg/parse/error62.C: New test. diff --git gcc/testsuite/g++.dg/parse/error62.C gcc/testsuite/g++.dg/parse/error62.C new file mode 100644 index 000.

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread H.J. Lu
On Thu, Jun 20, 2019 at 2:10 PM Jan Hubicka wrote: > > > > Currently, costs of moves are also used for costs of RTL expressions. > > > This > > > patch: > > > > > > https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00405.html > > > > > > includes: > > > > > > diff --git a/gcc/config/i386/x86-tune-c

Re: [C++ PATCH] PR c++/90875 - added -Wswitch-outside-range option.

2019-06-20 Thread Matthew Beliveau
Sorry, the last version had some problems. On Thu, Jun 20, 2019 at 4:26 PM Matthew Beliveau wrote: > > Hopefully fixed! > > On Thu, Jun 20, 2019 at 2:42 PM Marek Polacek wrote: > > > > On Thu, Jun 20, 2019 at 09:33:18AM -0400, Matthew Beliveau wrote: > > > Sorry for the last update, I guess I di

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread Jan Hubicka
> > Currently, costs of moves are also used for costs of RTL expressions. This > > patch: > > > > https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00405.html > > > > includes: > > > > diff --git a/gcc/config/i386/x86-tune-costs.h > > b/gcc/config/i386/x86-tune-costs.h > > index e943d13..8409a5f 100

[PATCH, alpha]: Introduce parametrized pattern names

2019-06-20 Thread Uros Bizjak
2019-06-20 Uroš Bizjak * config/alpha/alpha.md (@unaligned_store): Rename from unaligned_store. (@reload_in_aligned): Rename from reload_in_aligned. * config/alpha/sync.md (@load_locked_): Rename from load_locked_. (@store_conditional_): Rename from store_conditional_.

Re: Review Hashtable extract node API

2019-06-20 Thread François Dumont
On 6/19/19 12:47 AM, Jonathan Wakely wrote: On 18/06/19 22:42 +0200, François Dumont wrote: On 6/18/19 12:54 PM, Jonathan Wakely wrote: On 18/06/19 07:52 +0200, François Dumont wrote: A small regression noticed while merging. We shouldn't keep on using a moved-from key_type instance. Ok to c

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread Uros Bizjak
On Thu, Jun 20, 2019 at 5:19 PM H.J. Lu wrote: > > On Thu, Jun 20, 2019 at 12:43 AM Uros Bizjak wrote: > > > > On Thu, Jun 20, 2019 at 9:40 AM Uros Bizjak wrote: > > > > > > On Mon, Jun 17, 2019 at 6:27 PM H.J. Lu wrote: > > > > > > > > processor_costs has costs of RTL expressions and costs of

Re: [C++ PATCH] PR c++/90875 - added -Wswitch-outside-range option.

2019-06-20 Thread Matthew Beliveau
Hopefully fixed! On Thu, Jun 20, 2019 at 2:42 PM Marek Polacek wrote: > > On Thu, Jun 20, 2019 at 09:33:18AM -0400, Matthew Beliveau wrote: > > Sorry for the last update, I guess I didn't notice the other changes, oops! > > > > This should have all the changes. Let me know if anything went wrong!

Re: [PATCH] PR fortran/86587 -- PRIVATE and BIND(C) are allowed for derived type

2019-06-20 Thread Janne Blomqvist
On Thu, Jun 20, 2019 at 12:10 AM Steve Kargl wrote: > > Revision 126185 introduced ISO C Binding to gfortran. > In that revision, a check for a conflict between a > derived type with the PRIVATE attribute and BIND(C) was > introduced. After checking the F2003, F2008, and F2018 > standards, I cann

Re: [PATCH] Add --disable-tm-clone-registry libgcc configure option.

2019-06-20 Thread Jim Wilson
On Wed, Jun 12, 2019 at 5:57 PM wrote: > This patch adds libgcc configuration option to disable TM clone > registry. This option helps to reduce code size for embedded targets > which do not need transactional memory support. This looks OK to me. It is worth pointing out that ARM already ships c

[objective-c/c++, testsuite, committed] Fix stubify tests for -fnext-runtime.

2019-06-20 Thread Iain Sandoe
These tests were broken in the first place, and more broken following the change to drop pic symbol stubs unless the linker needs them. Fixed to work for x86 as well as powerpc and amended the options to force pic symbol stubs on. tested on i686/powerpc-darwin9, x86-64-darwin16, x86_64-linux-gnu

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Marek Polacek
On Thu, Jun 20, 2019 at 07:57:08PM +0200, Jakub Jelinek wrote: > On Thu, Jun 20, 2019 at 12:49:13PM -0400, Marek Polacek wrote: > > Sorry about that. Does this patch work? > > > > 2019-06-20 Marek Polacek > > > > * config/sh/sh.c (sh2a_function_vector_p): Use get_attribute_name. > > Just

Re: [PATCH] PR libstdc++/71579 assert that type traits are not misused with an incomplete type

2019-06-20 Thread Antony Polukhin
чт, 20 июн. 2019 г. в 20:57, Ville Voutilainen : > > On Thu, 20 Jun 2019 at 20:49, Antony Polukhin wrote: > > > > чт, 6 июн. 2019 г. в 15:19, Jonathan Wakely : > > > I'm removing some of these assertions again, because they are either > > > reundant or wrong. > > > > Thanks for cleaning up! > > >

Re: [C++ PATCH] PR c++/90875 - added -Wswitch-outside-range option.

2019-06-20 Thread Marek Polacek
On Thu, Jun 20, 2019 at 09:33:18AM -0400, Matthew Beliveau wrote: > Sorry for the last update, I guess I didn't notice the other changes, oops! > > This should have all the changes. Let me know if anything went wrong! > > Thanks, > Matthew Beliveau > > On Tue, Jun 18, 2019 at 1:38 PM Marek Polac

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Jakub Jelinek
On Thu, Jun 20, 2019 at 12:49:13PM -0400, Marek Polacek wrote: > Sorry about that. Does this patch work? > > 2019-06-20 Marek Polacek > > * config/sh/sh.c (sh2a_function_vector_p): Use get_attribute_name. Just that? grep is_attribute_p.*TREE_PURPOSE config/*/* config/m32c/m32c.c:

Re: [PATCH] PR libstdc++/71579 assert that type traits are not misused with an incomplete type

2019-06-20 Thread Ville Voutilainen
On Thu, 20 Jun 2019 at 20:49, Antony Polukhin wrote: > > чт, 6 июн. 2019 г. в 15:19, Jonathan Wakely : > > I'm removing some of these assertions again, because they are either > > reundant or wrong. > > Thanks for cleaning up! > > > In attachment there is an additional patch for type traits harden

Re: [PATCH] PR libstdc++/71579 assert that type traits are not misused with an incomplete type

2019-06-20 Thread Antony Polukhin
чт, 6 июн. 2019 г. в 15:19, Jonathan Wakely : > I'm removing some of these assertions again, because they are either > reundant or wrong. Thanks for cleaning up! In attachment there is an additional patch for type traits hardening. Things that still remain unasserted are type traits with varia

[aarch64] Refactor common errata work-around specs

2019-06-20 Thread Richard Earnshaw (lists)
I noticed while adding the AArch64 NetBSD support code that we now had four ports all using and defining the same errata work-around headers. That's silly and long-term becomes a maintenance burden. So this patch factors all that code into a single header to eliminate all the duplication. * confi

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Nathan Sidwell
On 6/20/19 11:49 AM, Richard Biener wrote: On June 20, 2019 4:06:58 PM GMT+02:00, Nathan Sidwell wrote: On 6/20/19 9:37 AM, Richard Biener wrote: I've spent some thoughts on this and I wonder whether we can re-implement classtype-as-base with fake inheritance (which would also solve the TBAA

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Marek Polacek
On Thu, Jun 20, 2019 at 05:08:37PM +, Joseph Myers wrote: > On Thu, 20 Jun 2019, Marek Polacek wrote: > > > Sorry about that. Does this patch work? > > Yes, that fixes it, thanks. Great, I've applied the patch. Marek

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Joseph Myers
On Thu, 20 Jun 2019, Marek Polacek wrote: > Sorry about that. Does this patch work? Yes, that fixes it, thanks. -- Joseph S. Myers jos...@codesourcery.com

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Joseph Myers
Any use of a host library should come with associated configure options to specify header and library paths for that library (and documentation for those options). (See existing --with-gmp*, --with-isl* etc. options.) -- Joseph S. Myers jos...@codesourcery.com

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Marek Polacek
On Thu, Jun 20, 2019 at 04:43:58PM +, Joseph Myers wrote: > This (commit r272486) introduces an ICE building libstdc++-v3 for > sh4-linux-gnu. > > libtool: compile: > /scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/./gcc/xgcc > -shared-libgcc > -B/scratch/jmyers/glibc-bot/buil

Re: C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

2019-06-20 Thread Joseph Myers
This (commit r272486) introduces an ICE building libstdc++-v3 for sh4-linux-gnu. libtool: compile: /scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/./gcc/xgcc -shared-libgcc -B/scratch/jmyers/glibc-bot/build/compilers/sh4-linux-gnu/gcc/./gcc -nostdinc++ -L/scratch/jmyers/glibc-bo

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Richard Biener
On June 20, 2019 4:06:58 PM GMT+02:00, Nathan Sidwell wrote: >On 6/20/19 9:37 AM, Richard Biener wrote: > >> I've spent some thoughts on this and I wonder whether we can >> re-implement classtype-as-base with fake inheritance (which would >> also solve the TBAA alias set issue in a natural way).

C++ PATCH to add test for c++/87512

2019-06-20 Thread Marek Polacek
This got fixed by r266055 but we didn't have a test like this. Tested on x86_64-linux, applying to trunk. 2019-06-20 Marek Polacek PR c++/87512 * g++.dg/cpp1z/inline-var7.C: New test. diff --git gcc/testsuite/g++.dg/cpp1z/inline-var7.C gcc/testsuite/g++.dg/cpp1z/inline-var7.

Re: [PING][PATCH 0/3] GNAT test suite fixes for build sysroot

2019-06-20 Thread Maciej Rozycki
On Thu, 20 Jun 2019, Arnaud Charlet wrote: > > Technically both variants of the expression achieve the same effect here > > as there is no problem with evaluating both sides of the OR operation in > > all cases, but your suggestion might help the readers avoid scratching > > their heads. > >

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread H.J. Lu
On Thu, Jun 20, 2019 at 12:43 AM Uros Bizjak wrote: > > On Thu, Jun 20, 2019 at 9:40 AM Uros Bizjak wrote: > > > > On Mon, Jun 17, 2019 at 6:27 PM H.J. Lu wrote: > > > > > > processor_costs has costs of RTL expressions and costs of moves: > > > > > > 1. Costs of RTL expressions is computed as CO

Re: [PING][PATCH 0/3] GNAT test suite fixes for build sysroot

2019-06-20 Thread Arnaud Charlet
> > Have you resolved your copyright assignment issues since then? > > The ball is now in FSF's court I'm told. OK > > The above patch needs to use "or else" instead of "or". OK with this change > > on the above patch. > > OK, I have updated that in my patch. > > Technically both variants o

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread H.J. Lu
On Thu, Jun 20, 2019 at 3:54 AM Hongtao Liu wrote: > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: > > > > > > On Sat, Jun 8, 2019 at 4:12 AM Uros Bizjak wrote: > > > > > > > > On 6/7/19, H.J. Lu wrote: > > > > > > > > >> > > +/

Re: [PING][PATCH 0/3] GNAT test suite fixes for build sysroot

2019-06-20 Thread Maciej Rozycki
On Wed, 19 Jun 2019, Arnaud Charlet wrote: > > Ping for: > > > > > > Have you resolved your copyright assignment issues since then? The ball is now in FSF's court I'm told. > The above patch needs to use "or else" instead of "or". OK

[PATCH 2/2] Rename SINGE_VALUE to TOPN_VALUES counters.

2019-06-20 Thread Martin Liška
And the second part is rename so that it reflect reality that single value can actually track multiple values. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From cc9e93d43941176e92b5821e5a8134a5319a10b4 Mon Sep 17 00:00:00 2001 From:

C++ PATCH for c++/90490 - fix decltype issues in noexcept-specifier

2019-06-20 Thread Marek Polacek
The first test is rejected because build_noexcept_spec first converts a TARGET_EXPR using a user-defined conversion, creating R::operator bool (&TARGET_EXPR ) which then fails when instantiating ("taking address of rvalue"). The second test ICEs in verify_ctor_sanity because there was no ctx.c

Re: [PATCH] [RFC, PGO+LTO] Missed function specialization + partial devirtualization

2019-06-20 Thread Martin Liška
Hi. So the first part is about support of N tracked values to be supported. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From f3e361fb6d799acf538bc76a91bfcc8e265b7cbe Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 19 Jun 2

Re: [PATCH] Skip libstdc++ debug build in early bootstrap stages

2019-06-20 Thread Jonathan Wakely
On 20/06/19 15:23 +0100, Jonathan Wakely wrote: As mentioned in PR 90770, this is a patch that Debian have been carrying Oops, Ubuntu, not Debian, sorry.

[PATCH] Skip libstdc++ debug build in early bootstrap stages

2019-06-20 Thread Jonathan Wakely
As mentioned in PR 90770, this is a patch that Debian have been carrying for some time. The additional unoptimized copies of libstdc++ libs that get built during each stage are never going to be used, so don't bother building them. For a profiled bootstrap this means we won't train the compiler o

[PATCH] Qualify calls to __never_valueless in

2019-06-20 Thread Jonathan Wakely
* include/std/variant (_Variant_storage, _Extra_visit_slot_needed): Qualify calls to __never_valueless. Tested x86_64-linux, committed to trunk. commit f432c00da2ed386e356ac23a41a9cf943a2e2c3a Author: redi Date: Thu Jun 20 14:17:51 2019 + Qualify calls to __never_val

Drop ref2_is_decl from aliasing_component_refs_p

2019-06-20 Thread Jan Hubicka
Hi, as discussed earlier this patch drops ref2_is_decl from aliasing_component_refs. This parameter makes it to assume that all access path may not continue by reference to DECL which is not true because in gimple memory model we allow to store value of completely unrealted type to it. I have als

Re: RFA: Synchronize top level files with binutils

2019-06-20 Thread Nick Clifton
Hi Richard, Please may I apply this patch to the gcc-9, gcc-8 and gcc-7 branches ? I have tested it on all three branches and found no problems. Cheers Nick 2019-06-07 Nick Clifton Import these changes from the binutils/gdb repository: 2019-05-28 Nick Alcock

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Nathan Sidwell
On 6/20/19 9:37 AM, Richard Biener wrote: I've spent some thoughts on this and I wonder whether we can re-implement classtype-as-base with fake inheritance (which would also solve the TBAA alias set issue in a natural way). That is, we'd lay out structs as-base and make instances of it use a c

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Jan Hubicka
> > This simple (untested) patch doesn't avoid creating the unnecessary > > as-base types, but it should avoid using them in a way that causes > > them to be streamed, and should let them be discarded by GC. > > Thoughts? > > Looks better than Honzas patch fixing a single place. Indeed, I think i

Re: [PATCH] [RFC, PGO+LTO] Missed function specialization + partial devirtualization

2019-06-20 Thread Jan Hubicka
Hi, some comments on the ipa part of the patch (and thanks for working on it - this was on my TODO list for years) > diff --git a/gcc/cgraph.c b/gcc/cgraph.c > index de82316d4b1..0d373a67d1b 100644 > --- a/gcc/cgraph.c > +++ b/gcc/cgraph.c > @@ -553,6 +553,7 @@ cgraph_node::get_create (tree decl)

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Richard Biener
On Thu, 20 Jun 2019, Jason Merrill wrote: > On Wed, Jun 19, 2019 at 2:47 PM Nathan Sidwell wrote: > > > > On 6/19/19 1:53 PM, Jan Hubicka wrote: > > -ctype = CLASSTYPE_AS_BASE (ctype); > > +{ > > + if (!tree_int_cst_equal (TYPE_SIZE (ctype), > > +

Re: [C++ PATCH] PR c++/90875 - added -Wswitch-outside-range option.

2019-06-20 Thread Matthew Beliveau
Sorry for the last update, I guess I didn't notice the other changes, oops! This should have all the changes. Let me know if anything went wrong! Thanks, Matthew Beliveau On Tue, Jun 18, 2019 at 1:38 PM Marek Polacek wrote: > > On Tue, Jun 18, 2019 at 01:17:10PM -0400, Matthew Beliveau wrote: >

Re: [PATCH] [RFC, PGO+LTO] Missed function specialization + partial devirtualization

2019-06-20 Thread Martin Liška
On 6/20/19 8:15 AM, luoxhu wrote: > Hi Martin, > > On 2019/6/20 09:59, luoxhu wrote: >> >> >> On 2019/6/19 20:18, Martin Liška wrote: >>> On 6/19/19 10:56 AM, Martin Liška wrote: Thank you very much for the numbers. Today, I'm going to prepare the generalization of single-value counter

Re: [PATCH] Handle '\0' in strcmp in RTL expansion (PR tree-optimization/90892).

2019-06-20 Thread Martin Liška
On 6/18/19 11:56 AM, Martin Liška wrote: > On 6/18/19 10:23 AM, Martin Liška wrote: >> On 6/18/19 10:11 AM, Jakub Jelinek wrote: >>> On Tue, Jun 18, 2019 at 10:07:50AM +0200, Martin Liška wrote: diff --git a/gcc/builtins.c b/gcc/builtins.c index 3463ffb1539..b58e1e58d4d 100644 --- a/

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Jan Hubicka
> On 6/19/19 1:53 PM, Jan Hubicka wrote: > > > > > -ctype = CLASSTYPE_AS_BASE (ctype); > > > > > +{ > > > > > + if (!tree_int_cst_equal (TYPE_SIZE (ctype), > > > > > +TYPE_SIZE (CLASSTYPE_AS_BASE (ctype > > > > > +ctype = CLASSTYPE_AS_BASE (ctype

C++ PATCH to add test for c++/89873

2019-06-20 Thread Marek Polacek
I didn't realize my change r270319 had fixed this PR. So adding the test and closing the PR. Tested on x86_64-linux, applying to trunk. 2019-06-20 Marek Polacek PR c++/89873 * g++.dg/cpp1y/noexcept1.C: New test. diff --git gcc/testsuite/g++.dg/cpp1y/noexcept1.C gcc/testsuit

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

2019-06-20 Thread Kewen.Lin
Hi, Sorry, the previous patch is incomplete. New one attached. Sorry for inconvenience. on 2019/6/20 下午8:08, Kewen.Lin wrote: > Hi Segher, > >> On Wed, Jun 19, 2019 at 07:47:34PM +0800, Kewen.Lin wrote: >>> +/* Return true if count register for branch is supported. */ >>> + >>> +static bool >>

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Thomas Koenig
Hi Martin, LTO bytecode is not supposed to be a distributable format. One of my dreams is to make libgfortran LTO-clean. There is a lot of performance to be gained both in I/O (where a huge number of special cases could be shortcut by LTO, because hardly any program uses them all) and in arra

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

2019-06-20 Thread Kewen.Lin
Hi Segher, > On Wed, Jun 19, 2019 at 07:47:34PM +0800, Kewen.Lin wrote: >> +/* Return true if count register for branch is supported. */ >> + >> +static bool >> +rs6000_have_count_reg_decr_p () >> +{ >> + return flag_branch_on_count_reg; >> +} > > rs6000 unconditionally supports these instructi

Re: [PATCH] Adding RBIT gcc builtin for ARM

2019-06-20 Thread Wilco Dijkstra
Hi Ayan, Have you seen https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50481? Adding support for a generic bitreverse builtin would be very useful since LLVM already supports this. Wilco

[patch, committed] Fix for PR 90937

2019-06-20 Thread Thomas Koenig
Hello world, I have committed the attached patch to trunk as obvious to fix another of the regressions stemming from the "make up formal from actual arglist" patch, as obvious and simple. I will backport this patch to the other affected branches, probably over the weekend. Regards Thom

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Jan Hubicka
> On 6/20/19 12:58 PM, Thomas Koenig wrote: > > Am 20.06.19 um 11:07 schrieb Martin Liška: > >> On the contrary, decompression > >> of zstd with zlib will end with: > >> lto1: internal compiler error: compressed stream: data error > > > > Sogenerating object files on one system and trying to read

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Martin Liška
On 6/20/19 12:58 PM, Thomas Koenig wrote: > Am 20.06.19 um 11:07 schrieb Martin Liška: >> On the contrary, decompression >> of zstd with zlib will end with: >> lto1: internal compiler error: compressed stream: data error > > Sogenerating object files on one system and trying to read them > on anot

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Uros Bizjak
On Thu, Jun 20, 2019 at 12:54 PM Hongtao Liu wrote: > > On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: > > > > > > On Sat, Jun 8, 2019 at 4:12 AM Uros Bizjak wrote: > > > > > > > > On 6/7/19, H.J. Lu wrote: > > > > > > > > >> > > +

Re: Use ODR for canonical types construction in LTO

2019-06-20 Thread Nathan Sidwell
On 6/20/19 12:34 AM, Jason Merrill wrote: On Wed, Jun 19, 2019 at 2:47 PM Nathan Sidwell wrote: This simple (untested) patch doesn't avoid creating the unnecessary as-base types, but it should avoid using them in a way that causes them to be streamed, and should let them be discarded by GC. T

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Thomas Koenig
Am 20.06.19 um 11:07 schrieb Martin Liška: On the contrary, decompression of zstd with zlib will end with: lto1: internal compiler error: compressed stream: data error Sogenerating object files on one system and trying to read them on another system which does not happen to have a particular li

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-06-20 Thread Hongtao Liu
On Thu, Jun 20, 2019 at 2:13 PM Uros Bizjak wrote: > > On Thu, Jun 20, 2019 at 7:36 AM Hongtao Liu wrote: > > > > On Sat, Jun 8, 2019 at 4:12 AM Uros Bizjak wrote: > > > > > > On 6/7/19, H.J. Lu wrote: > > > > > > >> > > +/* Register pair. */ > > > >> > > +VECTOR_MODES_WITH_PREFIX (P, INT, 2);

Re: AARCH64 configure check for gas -mabi support

2019-06-20 Thread Kugan Vivekanandarajah
Hi Thomas, On Thu, 20 Jun 2019 at 20:04, Thomas Schwinge wrote: > > Hi! > > I was just building an aarch64 cross-compiler (indeed compiler only: > 'make all-gcc'), and then wanted to check something in gimplification > ('-S -fdump-tree-gimple'), with '-mabi=ilp32', which told me: "cc1: > error: a

[committed][testsuite] Add missing dg-require-effective-target nonlocal_goto

2019-06-20 Thread Tom de Vries
Hi, Add missing dg-require-effective-target nonlocal_goto. Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing dg-require-effective-target nonlocal_goto 2019-06-20 Tom de Vries * gcc.c-torture/compile/pr89280.c: Require nonlocal_goto. * gcc.dg/pr8887

[committed][testsuite] Add missing dg-require-effective-target global_constructor

2019-06-20 Thread Tom de Vries
Hi, Add missing dg-require-effective-target global_constructor. Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing dg-require-effective-target global_constructor 2019-06-20 Tom de Vries * gcc.dg/pr90866-2.c: Require global_constructor. --- gcc/testsuite/g

[committed][testsuite] Add missing dg-require-effective-target indirect_jumps

2019-06-20 Thread Tom de Vries
Hi, Add missing dg-require-effective-target indirect_jumps. Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing dg-require-effective-target indirect_jumps 2019-06-20 Tom de Vries * gcc.dg/pr89737.c: Require indirect_jumps. * gcc.dg/torture/pr87693.c:

[committed][testsuite] Add missing dg-require-effective-target alloca

2019-06-20 Thread Tom de Vries
Hi, Add missing dg-require-effective-target alloca. Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing dg-require-effective-target alloca 2019-06-20 Tom de Vries * gcc.c-torture/compile/pr77754-1.c: Require alloca. * gcc.c-torture/compile/pr77754-2.

[committed][testsuite] Add missing dg-require-effective-target label_values

2019-06-20 Thread Tom de Vries
Hi, Add missing dg-require-effective-target label_values. Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing dg-require-effective-target label_values 2019-06-20 Tom de Vries * gcc.c-torture/compile/pr89280.c: Require label_values. * gcc.dg/pr89737.c

Re: [PATCH], PowerPC PR90822 (cleanup lfiwax, lfiwzx generation)

2019-06-20 Thread Segher Boessenkool
Hi! On Tue, Jun 18, 2019 at 01:53:36PM -0400, Michael Meissner wrote: > On Tue, Jun 18, 2019 at 06:37:54AM -0500, Segher Boessenkool wrote: > > On Mon, Jun 17, 2019 at 05:24:37PM -0400, Michael Meissner wrote: > > > I wrote the code to generate LFIWAX and LFIWZX originally for the power7 > > > in

Re: AARCH64 configure check for gas -mabi support

2019-06-20 Thread Thomas Schwinge
Hi! I was just building an aarch64 cross-compiler (indeed compiler only: 'make all-gcc'), and then wanted to check something in gimplification ('-S -fdump-tree-gimple'), with '-mabi=ilp32', which told me: "cc1: error: assembler does not support '-mabi=ilp32'". That's unexpected, as for '-S' GCC i

RE: [PATCH] improve ifcvt optimization (PR rtl-optimization/89430)

2019-06-20 Thread JiangNing OS
Hi Jeff, Appreciate your effort to review my patch! I've updated my patch as attached. See my answers below. > in current function, so the store speculation can be avoided. > So at a high level should we be doing this in gimple rather than RTL? > We're going to have a lot more information about

[PATCH] Fix outdated reference to C++17 draft in the docs

2019-06-20 Thread Jonathan Wakely
* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to C++17 working draft. Committed to trunk. commit 31b4df091273169a8ebe042c229526012509809c Author: redi Date: Thu Jun 20 09:13:03 2019 + Fix outdated reference to C++17 draft in the docs * d

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

2019-06-20 Thread Segher Boessenkool
Hi Kewen, On Wed, Jun 19, 2019 at 07:47:34PM +0800, Kewen.Lin wrote: > +/* Return true if count register for branch is supported. */ > + > +static bool > +rs6000_have_count_reg_decr_p () > +{ > + return flag_branch_on_count_reg; > +} rs6000 unconditionally supports these instructions, not just

Re: PR libstdc++/90945 Patch to have pretty printer for std::vector return bool intead of int for elements

2019-06-20 Thread Jonathan Wakely
On 20/06/19 08:12 +0200, Stephan Bergmann wrote: On 19/06/2019 21:54, Jonathan Wakely wrote: On 19/06/19 21:49 +0200, Michael Weghorn wrote: On 19/06/2019 21.37, Jonathan Wakely wrote: +  std::vector vb; +  vb.reserve(100); +  vb.push_back(true); +  vb.push_back(true); +  vb.push_back(false);

Re: [RFC] zstd as a compression algorithm for LTO

2019-06-20 Thread Martin Liška
Hello. As mentioned by Honza, it's using cmake and to be honest I prefer to use a shared library than a statically build library. Moreover, it's an optional requirement and so that we don't have to include that to contrib/download_prerequisites. I like the idea of marking of compression algorit

RE: Deque fiil/copy/move/copy_backward/move_backward/equal overloads

2019-06-20 Thread Morwenn Ed
That's actually a solution to bug 90409, thanks for it :) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90409 Morwenn De : libstdc++-ow...@gcc.gnu.org de la part de François Dumont Envoyé : mercredi 19 juin 2019 19:32 À : libstd...@gcc.gnu.org; gcc-patches Obje

Re: [PATCH] Adding RBIT gcc builtin for ARM

2019-06-20 Thread Kyrill Tkachov
Hi Ayan, On 6/20/19 4:40 AM, Ayan Shafqat wrote: The attached patch contains __builtin_arm_rbit which generates RBIT instruction for ARM targets. Please let me know if you any questions or comments, or commit this patch for me as I do not have write access to SVN. Thanks for the patch. Befor

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread Uros Bizjak
On Thu, Jun 20, 2019 at 9:40 AM Uros Bizjak wrote: > > On Mon, Jun 17, 2019 at 6:27 PM H.J. Lu wrote: > > > > processor_costs has costs of RTL expressions and costs of moves: > > > > 1. Costs of RTL expressions is computed as COSTS_N_INSNS which are used > > to generate RTL expressions with the l

Re: [PATCH] i386: Separate costs of RTL expressions from costs of moves

2019-06-20 Thread Uros Bizjak
On Mon, Jun 17, 2019 at 6:27 PM H.J. Lu wrote: > > processor_costs has costs of RTL expressions and costs of moves: > > 1. Costs of RTL expressions is computed as COSTS_N_INSNS which are used > to generate RTL expressions with the lowest costs. Costs of RTL memory > operation can be very close to

Re: [PATCH, v2] PowerPC: Add 'prefix' to the 'isa' attribute

2019-06-20 Thread Segher Boessenkool
Hi Mike, On Wed, Jun 19, 2019 at 10:43:43AM -0400, Michael Meissner wrote: > Here is version 2: > > 2019-06-19 Michael Meissner > > * config/rs6000/rs6000.md (isa attribute): Add support for > for a future processor. > > Index: gcc/config/rs6000/rs6000.md > ==

[committed] Small inclusive scan SSE2 vectorization improvement

2019-06-20 Thread Jakub Jelinek
Hi! This is a small improvement over the previous patch, the decision to use whole vector left shift + optional VEC_COND_EXPR doesn't have to be binary for the whole scan that contains several permutations, e.g. SSE2 can't do non-whole vector left shift { 0, 4, 5, 6 } permutation, but can do { 0,