[PATCH V4] Remove empty loop with assumed finiteness (PR tree-optimization/89713)

2019-06-03 Thread Feng Xue OS
> I think we should turn this option on by default, document that and note > that some languages (C++) say loops terminate. To enable this option at -O2 is not very suitable, seems to be more aggressive. Better to turn it on at -O3. >> +   /* Avoid doing so for OpenACC abstraction calls >> +  

[PATCH V4] A jump threading opportunity for condition branch

2019-06-03 Thread Jiufu Guo
Hi, This patch implements a new opportunity of jump threading for PR77820. In this optimization, conditional jumps are merged with unconditional jump. And then moving CMP result to GPR is eliminated. This version is based on the proposal of Richard, Jeff and Andrew on previous versions, and ref

Re: [PATCH] A jump threading opportunity for condition branch

2019-06-03 Thread Jiufu Guo
Jeff Law writes: > On 5/31/19 1:24 AM, Richard Biener wrote: >> On Thu, 30 May 2019, Jeff Law wrote: >> >>> On 5/30/19 12:41 AM, Richard Biener wrote: On May 29, 2019 10:18:01 PM GMT+02:00, Jeff Law wrote: > On 5/23/19 6:11 AM, Richard Biener wrote: >> On Thu, 23 May 2019, Jiufu Gu

Re: [PATCH V2] A jump threading opportunity for condition branch

2019-06-03 Thread Jiufu Guo
Jeff Law writes: > On 5/30/19 9:03 AM, Jiufu Guo wrote: >> Jeff Law writes: >> >>> On 5/29/19 6:36 AM, Richard Biener wrote: On Tue, 28 May 2019, Jiufu Guo wrote: > Hi, > > This patch implements a new opportunity of jump threading for PR77820. > In this optimization, c

Re: C++ PATCH to implement deferred parsing of noexcept-specifiers (c++/86476, c++/52869)

2019-06-03 Thread Marek Polacek
On Tue, May 28, 2019 at 11:46:53AM -0400, Jason Merrill wrote: > > @@ -20515,7 +20524,13 @@ cp_parser_init_declarator (cp_parser* parser, > > /*asmspec=*/NULL_TREE, > > attr_chainon (attributes, prefix_attributes)); > > if (decl && TREE_CODE (decl) ==

PR90689, ICE in extract_insn on ppc64le

2019-06-03 Thread Alan Modra
I've committed this patch as an obvious fix to correct a merge error. PR target/90689 * config/rs6000/rs6000.c (rs6000_call_aix): Correct r271753 merge error. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3aa19db863c..95cf9d66017 100644 --- a/g

Re: [PATCH,RFC 0/3] Support for CTF in GCC

2019-06-03 Thread Indu Bhagat
Hello, On 05/24/2019 06:24 AM, Jakub Jelinek wrote: On Tue, May 21, 2019 at 03:44:47PM -0700, Indu Bhagat wrote: Yes and No :) And that is indeed one of the motivation of the project - to allow CTF generation where it's most suited aka the toolchain. There do exist utilties for generation of

Go patch committed: generate unique type descriptors

2019-06-03 Thread Ian Lance Taylor
This patch by Cherry Zhang changes the Go frontend to generate unique type descriptors. Currently, the compiler already generates common symbols for type descriptors, so the type descriptors are unique. However, when a type is created through reflection, it is not deduplicated with compiler-gener

Re: [PATCH] warn on returning alloca and VLA (PR 71924, 90549)

2019-06-03 Thread Martin Sebor
On 5/31/19 2:46 PM, Jeff Law wrote: On 5/22/19 3:34 PM, Martin Sebor wrote: -Wreturn-local-addr detects a subset of instances of returning the address of a local object from a function but the warning doesn't try to handle alloca or VLAs, or some non-trivial cases of ordinary automatic variables

libgo patch committed: Delay applying profiling stack skips

2019-06-03 Thread Ian Lance Taylor
This libgo patch by Than McIntosh delays applying the requested skip count to a profiling stack trace until it is symbolized. When the runtime collects a stack trace to associate it with some profiling event (mem alloc, mutex, etc) there is a skip count passed to runtime.Callers (or equivalent) to

Go patch committed: Permit inlining references to global variables

2019-06-03 Thread Ian Lance Taylor
This patch to the Go frontend permits inlining references to global variables. This requires tracking all references to unexported variables, so that we can make them global symbols in the object file, and can export them so that other compilations can see the right definition for their own inline

libgo patch committed: Remove unnecessary Go <-> C functions

2019-06-03 Thread Ian Lance Taylor
This libgo patch removes some functions that were needed during the transition of the runtime from C to Go, but are no longer necessary. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

PING^1: [PATCH] i386: Generate standard floating point scalar operation patterns

2019-06-03 Thread H.J. Lu
On Tue, May 21, 2019 at 8:54 AM H.J. Lu wrote: > > On Wed, May 15, 2019 at 2:29 PM Richard Sandiford > wrote: > > > > "H.J. Lu" writes: > > > On Thu, Feb 7, 2019 at 9:49 AM H.J. Lu wrote: > > >> > > >> Standard scalar operation patterns which preserve the rest of the vector > > >> look like > >

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

2019-06-03 Thread Segher Boessenkool
On Mon, Jun 03, 2019 at 10:33:17PM +, Joseph Myers wrote: > Where a person used different names over time, there's no generally > applicable rule for whether they'd prefer the latest version or the > version used at the time to be used in reference to past commits, and I > think using the mo

Re: CPUID Patch for IDT Winchip

2019-06-03 Thread Maciej W. Rozycki
On Tue, 21 May 2019, Uros Bizjak wrote: > --cut here-- > #include "cpuid.h" > > int main () > { > unsigned int eax, ebx, ecx, edx; > > if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) > __builtin_abort (); > > printf ("%#x, %#x, %#x, %#x\n", eax, ebx, ecx, edx); > return 0; > } > --cut

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

2019-06-03 Thread Joseph Myers
On Sun, 2 Jun 2019, Segher Boessenkool wrote: > > > Git has an identity (well, two) _per commit_, and there is no way you can > > > reconstruct people's prefered name and email address (at any point in > > > time, > > > for every commit separately) correctly. IMO it is much better to not even >

[PATCH] PR libstdc++/90700 Fix constructor constraint for std::tuple

2019-06-03 Thread Jonathan Wakely
* include/std/tuple (tuple(allocator_arg_t, const A&, const tuple&)): Fix value category of template argument to _TC::_NonNestedTuple. * testsuite/20_util/tuple/cons/90700.cc: New test. This fixes the bug on gcc-9-branch, I plan to fix it differently on trunk. Test

Re: undefined behavior in value_range::equiv_add()?

2019-06-03 Thread Jeff Law
On 6/3/19 7:13 AM, Aldy Hernandez wrote: > On 5/31/19 5:00 AM, Richard Biener wrote: >> On Fri, May 31, 2019 at 2:27 AM Jeff Law wrote: >>> >>> On 5/29/19 10:20 AM, Aldy Hernandez wrote: On 5/29/19 12:12 PM, Jeff Law wrote: > On 5/29/19 9:58 AM, Aldy Hernandez wrote: >> On 5/29/19 9:2

[PATCH 2/2] rs6000: Delete -mmfpgpr

2019-06-03 Thread Segher Boessenkool
This patch makes the -mmfpgpr option not do anything except warn that the option is deprecated. Tested on powerpc64-linux {-m32,-m64} and on powerpc64le-linux; p7 for BE, and both p8 and p9 for LE. Committing to trunk. Segher 2019-06-03 Segher Boessenkool * config/rs6000/rs6000.h

[PATCH 1/2] rs6000: Delete wg

2019-06-03 Thread Segher Boessenkool
The "wg" constraint is used for the floating point side on mfpgpr instructions. Those instructions do not exist on any relevant hardware. This patch deletes the constraint and the insns using it. Tested on powerpc64-linux {-m32,-m64} and on powerpc64le-linux; p7 for BE, and both p8 and p9 for LE

Re: Hashtable Small size optimization

2019-06-03 Thread Jonathan Wakely
On 03/06/19 19:18 +0200, François Dumont wrote: Sorry for the mis-understanding but the core of this patch has already been committed after your approval here: https://gcc.gnu.org/ml/libstdc++/2019-05/msg00023.html OK, thanks. I didn't realise it superseded this one. I thought there might sti

Re: [PATCH] Enforce allocator::value_type consistency for containers in C++2a

2019-06-03 Thread Jonathan Wakely
On 03/06/19 22:34 +0100, Jonathan Wakely wrote: On 03/06/19 23:17 +0200, Rainer Orth wrote: Hi Jonathan, In previous standards it is undefined for a container and its allocator to have a different value_type. Libstdc++ has traditionally allowed it as an extension, automatically rebinding the a

Re: [PATCH] Enforce allocator::value_type consistency for containers in C++2a

2019-06-03 Thread Jonathan Wakely
On 03/06/19 23:17 +0200, Rainer Orth wrote: Hi Jonathan, In previous standards it is undefined for a container and its allocator to have a different value_type. Libstdc++ has traditionally allowed it as an extension, automatically rebinding the allocator to the container's value_type. Since GCC

[PATCH] preserve integer value of local addresses returned from functions (PR 90737)

2019-06-03 Thread Martin Sebor
While testing a different -Wreturn-local-addr bug fix/enhancement I noticed that in functions that return integers as opposed to pointers such as: intptr_t f (int i) { return (intptr_t)&i; } the converted address is folded to zero. This can be detected by strictly conforming programs so it's

Re: [PATCH] Enforce allocator::value_type consistency for containers in C++2a

2019-06-03 Thread Rainer Orth
Hi Jonathan, > In previous standards it is undefined for a container and its allocator > to have a different value_type. Libstdc++ has traditionally allowed it > as an extension, automatically rebinding the allocator to the > container's value_type. Since GCC 8.1 that extension has been disabled >

Re: Go patch committed: Intrinsify runtime/internal/atomic functions

2019-06-03 Thread Maciej Rozycki
On Mon, 3 Jun 2019, Ian Lance Taylor wrote: > > I have results as at r270765, taken with QEMU run in the user emulation > > mode (I have patches outstanding for configury/Makefiles to correctly > > support libgo and other library testing with a build sysroot in such a > > setup, pending the compl

Re: libgo patch committed: Cheaper context switch on x86_64

2019-06-03 Thread Ian Lance Taylor
On Mon, Jun 3, 2019 at 9:44 AM Cherry Zhang wrote: > > On Mon, Jun 3, 2019 at 12:00 PM Jakub Jelinek wrote: >> >> On Mon, Jun 03, 2019 at 05:51:26PM +0200, Thomas Schwinge wrote: >> > Hi! >> > >> > On Fri, 31 May 2019 10:56:43 -0700, Ian Lance Taylor >> > wrote: >> > > This libgo patch by Cherr

[PATCH] [MIPS] Inhibit trailing .insn if pool is not followed by code

2019-06-03 Thread Faraz Shahbazker
The __pool and __pend symbols are used to mark the beginning and end of inline constant pools in MIPS16 code regions. However if the pool occurs at the boundary of a code region and is not followed by further code, presence of the __pend symbol can confuse the dissassembler in to treating subseque

Re: [PATCH] PR88777, Out-of-range offsets building glibc test-tgmath2.c

2019-06-03 Thread Jeff Law
On 1/11/19 4:44 PM, Alan Modra wrote: > On Fri, Jan 11, 2019 at 11:42:31AM -0700, Jeff Law wrote: >> On 1/10/19 12:19 AM, Alan Modra wrote: >>> bb-reorder is quite seriously broken if get_attr_min_length should >>> return INT_MAX, which it does for hppa on branches with r267666. >> Presumably you'r

Re: [C++ Patch] Fix cp_parser_unqualified_id typo

2019-06-03 Thread Jason Merrill
On 5/31/19 5:05 AM, Paolo Carlini wrote: By the way, we have the option of using build_min_nt_loc instead of build_nt in all these places for BIT_NOT_EXPR in cp_parser_unqualified_id, Certainly it has the advantage that the location information survives in the tree node when cp_expr is event

Re: [C++ PATCH] decls with error_node type

2019-06-03 Thread Jason Merrill
On 5/31/19 1:39 PM, Nathan Sidwell wrote: I discovered we could occasionally create TYPE_DECLs with error_mark_node type, and then successfully push them into the symbol table! I don't think we should be doing this -- it means TREE_TYPE of a TYPE_DECL might not be a type, with resulting ICE f

Re: [PATCH] warn on returning alloca and VLA (PR 71924, 90549)

2019-06-03 Thread Jeff Law
On 6/3/19 3:37 AM, Richard Biener wrote: > On Fri, May 31, 2019 at 5:35 PM Jeff Law wrote:> >> On 5/30/19 4:56 PM, Martin Sebor wrote: >>> On 5/30/19 10:15 AM, Jeff Law wrote: On 5/30/19 9:34 AM, Martin Sebor wrote: >>> If the alias oracle can be used to give the same results without

Re: Go patch committed: Intrinsify runtime/internal/atomic functions

2019-06-03 Thread Andreas Schwab
On Jun 03 2019, Maciej Rozycki wrote: > These are significantly worse, but I suspect the use of the user emulation > mode of QEMU may have contributed here. I think all your failures are due to bugs/limitations in the qemu emulation. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key

Re: Hashtable Small size optimization

2019-06-03 Thread François Dumont
Sorry for the mis-understanding but the core of this patch has already been committed after your approval here: https://gcc.gnu.org/ml/libstdc++/2019-05/msg00023.html It was considered as PR 90277 fix but eventually I also change tests to make those implementation-details agnostics. However

Re: Go patch committed: Intrinsify runtime/internal/atomic functions

2019-06-03 Thread Ian Lance Taylor
On Mon, Jun 3, 2019 at 7:12 AM Maciej Rozycki wrote: > > On Thu, 30 May 2019, Jim Wilson wrote: > > > > Here are the test results: > > > http://gcc.gnu.org/ml/gcc-testresults/2019-05/msg02903.html > > > > I tried running RISC-V go checks on my system. I see 7 unexpected > > failures for gcc check

Re: [PATCH] RX: Add rx-*-linux target

2019-06-03 Thread Yoshinori Sato
On Sun, 02 Jun 2019 22:12:37 +0900, Oleg Endo wrote: > > On Sun, 2019-06-02 at 20:26 +0900, Yoshinori Sato wrote: > > On Fri, 31 May 2019 09:16:18 +0900, > > Jeff Law wrote: > > > > > > On 5/29/19 12:27 PM, Jeff Law wrote: > > > > On 5/23/19 6:05 AM, Yoshinori Sato wrote: > > > > > I ported linux

[PATCH][Preprocessor][Version 3]patch to fix PR 90581

2019-06-03 Thread Qing Zhao
Hi, this is the 3rd version of the patch, which fixed the issues Paolo raised in the previous email. Okay for trunk? thanks. gcc/ChangeLog: 2019-06-03 qing zhao * doc/cppopts.texi: Add document for -fmax-include-depth. * doc/invoke.texi (Preprocessor Options): List -fmax-inc

Re: libgo patch committed: Cheaper context switch on x86_64

2019-06-03 Thread Cherry Zhang via gcc-patches
On Mon, Jun 3, 2019 at 12:00 PM Jakub Jelinek wrote: > On Mon, Jun 03, 2019 at 05:51:26PM +0200, Thomas Schwinge wrote: > > Hi! > > > > On Fri, 31 May 2019 10:56:43 -0700, Ian Lance Taylor > wrote: > > > This libgo patch by Cherry Zhang implements cheaper goroutine context > > > switches on x86_

Re: [PATCH][Preprocessor][Version 3]patch to fix PR 90581

2019-06-03 Thread Qing Zhao
Hi, Paolo, thanks for the comment. I will fix these issues. Qing > On Jun 3, 2019, at 10:03 AM, Paolo Carlini wrote: > > Hi, > > a few minor comments. > > On 03/06/19 16:49, Qing Zhao wrote: >> +fmax-include-depth= >> +C ObjC C++ ObjC++ Joined RejectNegative UInteger >> +fmax-include-depth

Re: [PATCH] detect references to statics in inline function signatures (PR 88718)

2019-06-03 Thread Martin Sebor
I posted the patch right on the cusp of stage 4, thinking it was still stage 3. I thought I could finish it quickly but after the last round of comments I decided to move on to stage 4 stuff. I've contemplating coming back to it at some point. That being said, the patch fixes the reported bug wi

Re: [PATCH, OpenACC] Add support for gang local storage allocation in shared memory

2019-06-03 Thread Jakub Jelinek
On Mon, Jun 03, 2019 at 05:02:45PM +0100, Julian Brown wrote: > * omp-low.c (omp_context): Add oacc_partitioning_level and > oacc_addressable_var_decls fields. > (new_omp_context): Initialize oacc_addressable_var_decls in new > omp_context. > (delete_omp_cont

Re: [PATCH, OpenACC] Add support for gang local storage allocation in shared memory

2019-06-03 Thread Julian Brown
On Tue, 11 Dec 2018 15:08:11 + Julian Brown wrote: > Is this version OK? Re-tested with offloading to NVPTX. This is a ping for the patch posted here: https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00749.html This is a new version of the patch, rebased and with a couple of additional bugfix

Re: libgo patch committed: Cheaper context switch on x86_64

2019-06-03 Thread Jakub Jelinek
On Mon, Jun 03, 2019 at 05:51:26PM +0200, Thomas Schwinge wrote: > Hi! > > On Fri, 31 May 2019 10:56:43 -0700, Ian Lance Taylor wrote: > > This libgo patch by Cherry Zhang implements cheaper goroutine context > > switches on x86_64 GNU/Linux. [...] > > > Bootstrapped and tested on x86_64-pc-lin

Re: libgo patch committed: Cheaper context switch on x86_64

2019-06-03 Thread Thomas Schwinge
Hi! On Fri, 31 May 2019 10:56:43 -0700, Ian Lance Taylor wrote: > This libgo patch by Cherry Zhang implements cheaper goroutine context > switches on x86_64 GNU/Linux. [...] > Bootstrapped and tested on x86_64-pc-linux-gnu. Committed to mainline. > --- libgo/runtime/go-context.S(nonex

Re: [PATCH] detect references to statics in inline function signatures (PR 88718)

2019-06-03 Thread Joseph Myers
I already reviewed two versions of this patch. As far as I know, no third version has been posted to address my comments on the second version . -- Joseph S. Myers jos...@codesourcery.com

Re: [PATCH] PR c/86407 - Add option to ignore fndecl attributes on function pointers

2019-06-03 Thread Joseph Myers
On Thu, 30 May 2019, Alex Henrie wrote: > In Wine we need a way to (without warnings) put ms_hook_prologue into > a macro that is applied to functions, function pointers, and function > pointer typedefs. It sounds like you're saying that you will not > accept a patch that silences or splits off wa

Re: [PATCH] include MEM_REF type in tree dumps (PR 90676)

2019-06-03 Thread Martin Sebor
On 6/3/19 4:34 AM, Richard Biener wrote: On Mon, Jun 3, 2019 at 10:57 AM Jakub Jelinek wrote: On Mon, Jun 03, 2019 at 10:36:42AM +0200, Richard Biener wrote: To avoid this confusion the attached patch adds to the dump a cast to the MEM_REF type for accesses whose size is not equal to the size

Re: [PATCH][Preprocessor][Version 2]patch to fix PR 90581

2019-06-03 Thread Paolo Carlini
Hi, a few minor comments. On 03/06/19 16:49, Qing Zhao wrote: +fmax-include-depth= +C ObjC C++ ObjC++ Joined RejectNegative UInteger +fmax-include-depth= Set the maximum number of depth of nested #include. I think you want something like "Set the maximum depth of nested #include". +@item -f

Re: [PATCH 2/2] IPA ICF: use fibonacci heap instead of list as a worklist.

2019-06-03 Thread Jan Hubicka
> This is second part which has not a significant speed up but > it's mentioned in the Value Numbering algorithm as a useful heuristics. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > > gcc/ChangeLog: > > 2019-06-03 Ma

[PATCH][Preprocessor][Version 2]patch to fix PR 90581

2019-06-03 Thread Qing Zhao
Hi, this is the 2nd version of the patch. the main changes are: 1. some typo. 2. enhance the error message to provide user idea on how to increase the limit. bootstrap and regression tested on X86, no issue. Okay for trunk? thanks. Qing gcc/ChangeLog: 2019-06-03 qing zhao

Re: Odd behaviour of indirect_ref_may_alias_decl_p in vn oracle

2019-06-03 Thread Jan Hubicka
> I think the patch is correct. Consider the decl being accessed > via memcpy which will result in base2_alias_set == 0. The > GIMPLE memory model says decls are just random storage and thus > their dynamic type can change. This is also why there's the > "strange" (and also incomplete...) give-u

Re: Go patch committed: Intrinsify runtime/internal/atomic functions

2019-06-03 Thread Maciej Rozycki
On Thu, 30 May 2019, Jim Wilson wrote: > > Here are the test results: > > http://gcc.gnu.org/ml/gcc-testresults/2019-05/msg02903.html > > I tried running RISC-V go checks on my system. I see 7 unexpected > failures for gcc check-go, 6 unexpected failures for check-gotools, > and 1 unexpected fai

Re: [PATCH 1/2] IPA ICF: rewrite references into a hash_map.

2019-06-03 Thread Jan Hubicka
> On 6/3/19 3:48 PM, Jan Hubicka wrote: > > If I get it right, this replaces reference vectors by a central hash > > map. > > Yes > > > I wonder when you need to many querries to them? I would expect > > the subdividing algorithm to travel the reference lists quite > > sequentially... > > The i

Re: [PATCH] PR libstdc++/90686 update C++2a library status docs

2019-06-03 Thread Jonathan Wakely
On 03/06/19 14:32 +0100, Jonathan Wakely wrote: On 03/06/19 14:23 +0100, Jonathan Wakely wrote: PR libstdc++/90686 * doc/xml/manual/status_cxx2014.xml: Document what's missing from . * doc/xml/manual/status_cxx2020.xml: Document status of P1285R0, P0339R6,

Re: Odd behaviour of indirect_ref_may_alias_decl_p in vn oracle

2019-06-03 Thread Richard Biener
On Sat, 1 Jun 2019, Jan Hubicka wrote: > Hi, > while looking for the reason for extra disambiguations in > aliasing_component_refs I have noticed an odd case. We newly disambiguate: > > MEM[(Element_t *)_27 + 4B]; > > s.globalIDDataBase_m; > > type size > unit-size >

Re: [PATCH 1/2] IPA ICF: rewrite references into a hash_map.

2019-06-03 Thread Martin Liška
On 6/3/19 3:48 PM, Jan Hubicka wrote: > If I get it right, this replaces reference vectors by a central hash > map. Yes > I wonder when you need to many querries to them? I would expect > the subdividing algorithm to travel the reference lists quite > sequentially... The issue is that if you ha

Re: [PATCH 1/2] IPA ICF: rewrite references into a hash_map.

2019-06-03 Thread Jan Hubicka
> Hi. > > The patch makes signification LTO WPA speed up for godot project > from 76s to 65s. The patch uses more smart data structure for > value numbering algorithm that we use. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? If I get it r

[PATCH] Mostly fix PR90726 - exponential compile-time/memory behavior

2019-06-03 Thread Richard Biener
This mostly fixes PR90726, employing proper visited mechanisms to avoid exponential behavior when walking a GENERIC expression with shared trees. It also fixes the code-generation side where gimplification of such tree naturally explodes as well - but not by more optimal gimplifying but accounti

[PATCH 2/2] IPA ICF: use fibonacci heap instead of list as a worklist.

2019-06-03 Thread Martin Liška
This is second part which has not a significant speed up but it's mentioned in the Value Numbering algorithm as a useful heuristics. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-06-03 Martin Liska *

[PATCH 1/2] IPA ICF: rewrite references into a hash_map.

2019-06-03 Thread Martin Liška
Hi. The patch makes signification LTO WPA speed up for godot project from 76s to 65s. The patch uses more smart data structure for value numbering algorithm that we use. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog:

Re: [PATCH] RX: Add rx-*-linux target

2019-06-03 Thread Oleg Endo
On Sun, 2019-06-02 at 12:37 -0500, Segher Boessenkool wrote: > > This is -m64bit-doubles/-m32bit-doubles, and t-rx already multilibs > that? Yes, it does. > And the default is 32-bit. So why does rx-linux need something > different? > You could make a point for wanting 64-bit doubles as default

Re: [PATCH][RFC] Sanitize equals and hash functions in hash-tables.

2019-06-03 Thread Martin Liška
On 6/1/19 12:06 AM, Jeff Law wrote: > On 5/22/19 3:13 AM, Martin Liška wrote: >> On 5/21/19 1:51 PM, Richard Biener wrote: >>> On Tue, May 21, 2019 at 1:02 PM Martin Liška wrote: On 5/21/19 11:38 AM, Richard Biener wrote: > On Tue, May 21, 2019 at 12:07 AM Jeff Law wrote: >> >>>

Re: [PATCH] PR libstdc++/90686 update C++2a library status docs

2019-06-03 Thread Jonathan Wakely
On 03/06/19 14:23 +0100, Jonathan Wakely wrote: PR libstdc++/90686 * doc/xml/manual/status_cxx2014.xml: Document what's missing from . * doc/xml/manual/status_cxx2020.xml: Document status of P1285R0, P0339R6, P0340R3, P1164R1 and P1357R1. * doc/html

Use ODR for canonical types construction in LTO

2019-06-03 Thread Jan Hubicka
Hi, this patch makes LTO to use ODR names when building canonical types. Theoretically this is easy task because every ODR type is unique and it is enough to fill in the hash with the ODR names and compare them. In reality we want to be more careful and detect situation when non-ODR type is struct

[PATCH] PR libstdc++/90686 update C++2a library status docs

2019-06-03 Thread Jonathan Wakely
PR libstdc++/90686 * doc/xml/manual/status_cxx2014.xml: Document what's missing from . * doc/xml/manual/status_cxx2020.xml: Document status of P1285R0, P0339R6, P0340R3, P1164R1 and P1357R1. * doc/html/*: Regenerate. Committed to trunk. commit 04f

[PATCH] Enforce allocator::value_type consistency for containers in C++2a

2019-06-03 Thread Jonathan Wakely
In previous standards it is undefined for a container and its allocator to have a different value_type. Libstdc++ has traditionally allowed it as an extension, automatically rebinding the allocator to the container's value_type. Since GCC 8.1 that extension has been disabled for C++11 and later wh

Re: [PATCH][GCC][AArch64] Add support for hint intrinsics: __yield, __wfe, __wfi, __sev and __sevl.

2019-06-03 Thread James Greenhalgh
On Wed, May 29, 2019 at 03:48:29PM +0100, Srinath Parvathaneni wrote: > Hi All, > > This patch implements the __yield(), __wfe(), __wfi(), __sev() and > __sevl() ACLE (hint) intrinsics for AArch64 as yield, wfe, wfi, sev and > sevl (hint) instructions respectively. > > The instructions are docu

Re: undefined behavior in value_range::equiv_add()?

2019-06-03 Thread Aldy Hernandez
On 5/31/19 5:00 AM, Richard Biener wrote: On Fri, May 31, 2019 at 2:27 AM Jeff Law wrote: On 5/29/19 10:20 AM, Aldy Hernandez wrote: On 5/29/19 12:12 PM, Jeff Law wrote: On 5/29/19 9:58 AM, Aldy Hernandez wrote: On 5/29/19 9:24 AM, Richard Biener wrote: On Wed, May 29, 2019 at 2:18 PM Aldy

Re: [AArch64] [SVE] PR88837 - Poor vector construction code in VL-specific mode

2019-06-03 Thread Prathamesh Kulkarni
On Mon, 3 Jun 2019 at 16:25, Richard Sandiford wrote: > > Prathamesh Kulkarni writes: > >> > diff --git a/gcc/testsuite/lib/target-supports.exp > >> > b/gcc/testsuite/lib/target-supports.exp > >> > index 3bd6e815715..0ff0d8fb757 100644 > >> > --- a/gcc/testsuite/lib/target-supports.exp > >> > ++

Re: [DRIVER PATCH]: Nadger subprocess argv[0]

2019-06-03 Thread Nathan Sidwell
Ping? https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00695.html I originally hesitated adding a space, as Martin suggested, so that argv[0] still obviously looked like a single arg. But I'm not opposed to changing that. He's also right that the errors one can get from failing to spawn are ver

Re: [PATCH v2] aarch64: emit .variant_pcs for aarch64_vector_pcs symbol references

2019-06-03 Thread James Greenhalgh
On Wed, May 29, 2019 at 11:00:46AM +0100, Richard Sandiford wrote: > Szabolcs Nagy writes: > > v2: > > - use aarch64_simd_decl_p to check for aarch64_vector_pcs. > > - emit the .variant_pcs directive even for local functions. > > - don't require .variant_pcs asm support in compile only tests. > >

Re: [PATCH] warn on returning alloca and VLA (PR 71924, 90549)

2019-06-03 Thread Richard Biener
On Mon, Jun 3, 2019 at 11:37 AM Richard Biener wrote: > > On Fri, May 31, 2019 at 5:35 PM Jeff Law wrote:> > > On 5/30/19 4:56 PM, Martin Sebor wrote: > > > On 5/30/19 10:15 AM, Jeff Law wrote: > > >> On 5/30/19 9:34 AM, Martin Sebor wrote: > > >> > > > If the alias oracle can be used to give

Re: [PATCH][AArch64] Emit TARGET_DOTPROD-specific sequence for sadv16qi

2019-06-03 Thread James Greenhalgh
On Mon, May 13, 2019 at 12:18:25PM +0100, Kyrill Tkachov wrote: > Hi Richard, > > On 5/9/19 9:06 AM, Richard Sandiford wrote: > > Kyrill Tkachov writes: > >> +;; Helper expander for aarch64_abd_3 to save the callers > >> +;; the hassle of constructing the other arm of the MINUS. > >> +(define_exp

[PATCH][OBVIOUS][DOC] Remove Java Trees from GENERIC manual.

2019-06-03 Thread Martin Liška
Hi. One obvious removal of Java Trees. Martin gcc/ChangeLog: 2019-06-03 Martin Liska * doc/generic.texi: Remove Java Trees. --- gcc/doc/generic.texi | 5 - 1 file changed, 5 deletions(-) diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi index 15f6cfec21b..67f7ad53af6 1

Re: [PATCH] Add missing avx512dqintrin.h _mm_mask_fpclass_s[sd]_mask (PR target/89803)

2019-06-03 Thread Jakub Jelinek
On Mon, Jun 03, 2019 at 06:01:40PM +0800, Hongtao Liu wrote: > The following patch adds forgotten avx512f fpclass instrinsics for > masked scalar operations. > > Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512), > ok for trunk? > > Changelog: > > gcc/ > +2019-03-24 Hon

Re: [AArch64] [SVE] PR88837 - Poor vector construction code in VL-specific mode

2019-06-03 Thread Richard Sandiford
Prathamesh Kulkarni writes: >> > diff --git a/gcc/testsuite/lib/target-supports.exp >> > b/gcc/testsuite/lib/target-supports.exp >> > index 3bd6e815715..0ff0d8fb757 100644 >> > --- a/gcc/testsuite/lib/target-supports.exp >> > +++ b/gcc/testsuite/lib/target-supports.exp >> > @@ -3846,6 +3846,10 @@

Re: [PATCH][AArch64] PR tree-optimization/90332: Implement vec_init where N is a vector mode

2019-06-03 Thread Kyrill Tkachov
On 6/3/19 11:32 AM, James Greenhalgh wrote: On Fri, May 10, 2019 at 10:32:22AM +0100, Kyrill Tkachov wrote: Hi all, This patch fixes the failing gcc.dg/vect/slp-reduc-sad-2.c testcase on aarch64 by implementing a vec_init optab that can handle two half-width vectors producing a full-width one

[PATCH] Improve alias during VN

2019-06-03 Thread Richard Biener
As Honza noticed using a valueized ref makes us no longer to path based disambiguation. There's not a reason to not use the non-valueized ref there though so the following does that. I had to fixup nonoverlapping_component_refs_of_decl_p because while ->base may be valuezied to a decl ->ref may

Re: [patch] Fix segfault caused by spurious constant overflow

2019-06-03 Thread Eric Botcazou
> Hmm, ISTR we had such mitigations in place (or have) elsewhere keying > on the most significant bit set instead of power-of-two. But your case > likely recurses and runs into the extract_multiv limiting to eventually > stop, even for (N + 4) * 8, right? If so shouldn't we prevent this > even fo

Re: [PATCH] AARCH64: ILP32: Fix aarch64_asan_shadow_offset

2019-06-03 Thread James Greenhalgh
On Thu, May 23, 2019 at 04:54:30AM +0100, Andrew Pinski wrote: > aarch64_asan_shadow_offset is using the wrong > offset for ILP32. Change it to be a decent one. > > OK? Bootstrapped and tested on aarch64-linux-gnu > with no regressions, OK. Thanks, James > > Thanks, > Andrew Pinski > > Chan

Re: [PATCH] Fix typo in index comporasion of CONSTRUCTOR.

2019-06-03 Thread Richard Biener
On Fri, May 31, 2019 at 3:43 PM Martin Liška wrote: > > Hi. > > I've been working on an overhaul of IPA ICF and I noticed that issue. > > Looks to me obvious. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK. Richard. > Thanks, > Martin >

Re: [PATCH] include MEM_REF type in tree dumps (PR 90676)

2019-06-03 Thread Richard Biener
On Mon, Jun 3, 2019 at 10:57 AM Jakub Jelinek wrote: > > On Mon, Jun 03, 2019 at 10:36:42AM +0200, Richard Biener wrote: > > > To avoid this confusion the attached patch adds to the dump > > > a cast to the MEM_REF type for accesses whose size is not equal > > > to the size of the operand (when th

Re: [PATCH][AArch64] PR tree-optimization/90332: Implement vec_init where N is a vector mode

2019-06-03 Thread James Greenhalgh
On Fri, May 10, 2019 at 10:32:22AM +0100, Kyrill Tkachov wrote: > Hi all, > > This patch fixes the failing gcc.dg/vect/slp-reduc-sad-2.c testcase on > aarch64 > by implementing a vec_init optab that can handle two half-width vectors > producing a full-width one > by concatenating them. > > In t

Re: [patch][aarch64]: add usra and ssra combine patterns

2019-06-03 Thread James Greenhalgh
On Thu, May 30, 2019 at 03:25:19PM +0100, Sylvia Taylor wrote: > Greetings, > > This patch adds support to combine: > > 1) ushr and add into usra, example: > > ushr v0.16b, v0.16b, 2 > add v0.16b, v0.16b, v2.16b > --- > usra v2.16b, v0.16b, 2 > > 2) sshr and add into ssra, example: > > ssh

Re: [PATCH,RFC 0/3] Support for CTF in GCC

2019-06-03 Thread Richard Biener
On Fri, May 31, 2019 at 9:17 PM Indu Bhagat wrote: > > > > On 05/24/2019 02:26 AM, Richard Biener wrote: > > Currently, it does look like CTF for possibly to-be-omitted symbols will be > generated... I assume even DWARF needs to handle this case. Can you point me > to > how DWARF does this ? > >

Re: [AArch64] [SVE] PR88837 - Poor vector construction code in VL-specific mode

2019-06-03 Thread Prathamesh Kulkarni
On Mon, 3 Jun 2019 at 14:53, Richard Sandiford wrote: > > Prathamesh Kulkarni writes: > > On Thu, 30 May 2019 at 21:19, Richard Sandiford > > wrote: > >> > >> Prathamesh Kulkarni writes: > >> > On Thu, 30 May 2019 at 15:10, Richard Sandiford > >> > wrote: > >> >> > >> >> Prathamesh Kulkarni w

Re: [PATCH,RFC 0/3] Support for CTF in GCC

2019-06-03 Thread Richard Biener
On Sat, Jun 1, 2019 at 2:14 AM Indu Bhagat wrote: > > > > On 05/29/2019 12:15 AM, Richard Biener wrote: > > Of course. We are merely discussing of where the triggering of processing > starts: debug hooks, or something like: > > dwarf2out_early_finish() { >... >if (ctf) > ctf_emit();

[PATCH] Add missing avx512dqintrin.h _mm_mask_fpclass_s[sd]_mask (PR target/89803)

2019-06-03 Thread Hongtao Liu
Hi Jeff: The following patch adds forgotten avx512f fpclass instrinsics for masked scalar operations. Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512), ok for trunk? Changelog: gcc/ +2019-03-24 Hongtao Liu + + PR target/89803 + * config/i386/avx512dqintrin.h + (_mm_ma

[PATCH][gcc] libgccjit: add bitfield support

2019-06-03 Thread Andrea Corallo
Hi all, I would like to submit this patch that aims to introduce bitfields support into libgccjit. A new entry point gcc_jit_context_new_bitfield is added plus relative testcase. Checked with make check-jit does not introduce regressions. Feedbacks are very welcome. Bests Andrea 2019-06-01

Re: [PATCH] correct the representation of ADDR_EXPR involving pointer to array [PR 90694]

2019-06-03 Thread Richard Biener
On Fri, May 31, 2019 at 10:50 PM Jeff Law wrote: > > On 5/31/19 1:56 PM, Martin Sebor wrote: > > Given a poiner to array p, tree dumps for expressions like &(*p)[2] > > actually show &*p[2]. That's not right -- the parentheses are > > important to differentiate indexing into the array the pointer

Re: [PATCH] Add noexcept to tuple<> and simplify tuple noexcept-specifiers

2019-06-03 Thread Szabolcs Nagy
On 31/05/2019 15:58, Jonathan Wakely wrote: > * include/std/tuple (tuple<>): Add noexcept to allocator-extended > constructors. > (tuple::__nothrow_default_constructible()): New helper > function. > (tuple::tuple(), explicit tuple::tuple()): Use helper. > > Tested powerpc64le-l

Re: [PATCH] Add noexcept to tuple<> and simplify tuple noexcept-specifiers

2019-06-03 Thread Jonathan Wakely
On 03/06/19 09:44 +, Szabolcs Nagy wrote: On 31/05/2019 15:58, Jonathan Wakely wrote: * include/std/tuple (tuple<>): Add noexcept to allocator-extended constructors. (tuple::__nothrow_default_constructible()): New helper function. (tuple::tuple(), explicit tuple::tuple())

Re: [PATCH] warn on returning alloca and VLA (PR 71924, 90549)

2019-06-03 Thread Richard Biener
On Fri, May 31, 2019 at 5:35 PM Jeff Law wrote:> > On 5/30/19 4:56 PM, Martin Sebor wrote: > > On 5/30/19 10:15 AM, Jeff Law wrote: > >> On 5/30/19 9:34 AM, Martin Sebor wrote: > >> > > If the alias oracle can be used to give the same results without > > excessive false positives then I th

Re: [AArch64] [SVE] PR88837 - Poor vector construction code in VL-specific mode

2019-06-03 Thread Richard Sandiford
Prathamesh Kulkarni writes: > On Thu, 30 May 2019 at 21:19, Richard Sandiford > wrote: >> >> Prathamesh Kulkarni writes: >> > On Thu, 30 May 2019 at 15:10, Richard Sandiford >> > wrote: >> >> >> >> Prathamesh Kulkarni writes: >> >> > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/init_1.c

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-06-03 Thread Richard Sandiford
Kugan Vivekanandarajah writes: > diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c > index b3fae5b..ad838dd 100644 > --- a/gcc/tree-vect-loop-manip.c > +++ b/gcc/tree-vect-loop-manip.c > @@ -415,6 +415,7 @@ vect_set_loop_masks_directly (struct loop *loop, > loop_vec_info loop_v

Re: [PATCH] include MEM_REF type in tree dumps (PR 90676)

2019-06-03 Thread Jakub Jelinek
On Mon, Jun 03, 2019 at 10:36:42AM +0200, Richard Biener wrote: > > To avoid this confusion the attached patch adds to the dump > > a cast to the MEM_REF type for accesses whose size is not equal > > to the size of the operand (when the sizes are the same no new > > cast is prepended). The effect

Re: [PATCH] detect references to statics in inline function signatures (PR 88718)

2019-06-03 Thread Richard Biener
On Fri, May 31, 2019 at 9:48 PM Jeff Law wrote: > > On 1/11/19 1:10 PM, Martin Sebor wrote: > > The attached patch extends the detection of references to static > > variables in inline functions to the function signatures, including > > their return type. Since the declaration of a function need

[PATCH] Fix PR90713

2019-06-03 Thread Richard Biener
Tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-06-03 Richard Biener PR testsuite/90713 * gcc.dg/gimplefe-40.c: Add -maltivec for powerpc. Index: gcc/testsuite/gcc.dg/gimplefe-40.c === --- gcc/testsu

Re: [PATCH] include MEM_REF type in tree dumps (PR 90676)

2019-06-03 Thread Richard Biener
On Sat, Jun 1, 2019 at 5:53 PM Martin Sebor wrote: > > I spent a bunch of time the other day trying to understand why > the second of the two assignments below to a char array was > apparently not being done by trunk > >a[0] = 1; >a[1] = 0; > > The optimized GIMPLE dump simply shows: > >

Re: [PATCH] PR c/86407 - Add option to ignore fndecl attributes on function pointers

2019-06-03 Thread Richard Biener
On Fri, 31 May 2019, Alex Henrie wrote: > On Fri, May 31, 2019 at 1:38 AM Richard Biener wrote: > > > > On Thu, 30 May 2019, Alex Henrie wrote: > > > > > In Wine we need a way to (without warnings) put ms_hook_prologue into > > > a macro that is applied to functions, function pointers, and functi

  1   2   >