Re: Optimize streaming in of non-prevailing ipa-parm summaries

2018-12-15 Thread Richard Biener
On December 15, 2018 10:17:43 PM GMT+01:00, Jan Hubicka wrote: >Hi, >this patch is motivated by finding that Firefox ipa summaries stream-in >is fully dominated by streaming edge summaries that are not necessary >because they lead to external calls or are from comdat functions that >are unused. >

Re: [ping] Change static chain to r11 on aarch64

2018-12-15 Thread Hans-Peter Nilsson
On Wed, 12 Dec 2018, Wilco Dijkstra wrote: > I've not seen such an alternative implementation (-fno-trampolines is > ignored on all targets I tried), but it wouldn't affect the ABI since you can > only take the address of a nested function when you're the parent function. Regarding the

Re: RFC: libiberty PATCH to disable demangling of ancient mangling schemes

2018-12-15 Thread Simon Marchi
On 2018-12-14 5:39 p.m., Jason Merrill wrote: > GDB/binutils folks, how do you want to handle this? Shall I go ahead > with this patch, with the understanding that there will be associated > changes necessary when merging it into the binutils-gdb repository, or > go with the small disabling patch

[Committed] PR fortran/87994 -- Inquiry parameter as data constant

2018-12-15 Thread Steve Kargl
I've committed the attached after testing on i586-*-freebsd and x86_64-*-freebsd. It removes an ICE by allowing the inquiry parametes of len and kind in data statements as data constants. 2018-12-15 Steven G. Kargl PR fortran/87944 * decl.c (match_data_constant): Allow

Re: [PATCH AutoFDO]Restoring indirect call value profile transformation

2018-12-15 Thread Andi Kleen
"bin.cheng" writes: > Hi, > > Due to ICE and mal-functional bugs, indirect call value profile transformation > is disabled on GCC-7/8/trunk. This patch restores the transformation. The > main issue is AutoFDO should store cgraph_node's profile_id of callee func in > the first histogram value's

[Committed] PR fortran/88138 -- can't initialize a derived type

2018-12-15 Thread Steve Kargl
I've committed the attached patch after testing on i586-*-freebsd and x86_64-*-freebsd. 2019-12-15 Steven G. Kargl PR fortran/88138 * decl.c (variable_decl): Check that a derived isn't being assigned an incompatible entity in an initialization. 2019-12-15 Steven G.

Re: [C++ PATCH] Sanity check __cxa_* user declarations (PR c++/88482)

2018-12-15 Thread Jason Merrill
On 12/15/18 8:08 AM, Jakub Jelinek wrote: On Sat, Dec 15, 2018 at 12:22:44PM +0100, Jakub Jelinek wrote: Fix libitm. Ok, will do. Here it is in patch form: OK, thanks. Jason

Re: [C++ Patch] [PR c++/88146] do not crash synthesizing inherited ctor(...)

2018-12-15 Thread Jason Merrill
On Fri, Dec 14, 2018 at 6:05 PM Alexandre Oliva wrote: > > On Dec 14, 2018, Jason Merrill wrote: > > > Let's move the initialization of "fields" inside the 'then' block here > > with the initialization of "cvquals", rather than clear it in the > > 'else'. > > We'd still have to NULL-initialize

[C++ PATCH] Tiny lambda instantiation tweak.

2018-12-15 Thread Jason Merrill
While looking at something else I noticed that we were passing 0 to the "nonclass" parameter here; we might as well pass 1, since capture proxies are always at block scope. Tested x86_64-pc-linux-gnu, applying to trunk. * pt.c (tsubst_expr) [DECL_EXPR]: Ignore class-scope bindings when

Optimize streaming in of non-prevailing ipa-parm summaries

2018-12-15 Thread Jan Hubicka
Hi, this patch is motivated by finding that Firefox ipa summaries stream-in is fully dominated by streaming edge summaries that are not necessary because they lead to external calls or are from comdat functions that are unused. Reading them, populating hashes and later removing them at once

Do not read function bodies to merge zero profiles

2018-12-15 Thread Jan Hubicka
Hi, this patch saves some stream-in time of WPA becuase if source profile is zero, there is no need to merge it into destination since it is no-op anyway. Bootstrapped/regtested x86_64-linux, comitted. Honza * ipa-utils.c (ipa_merge_profiles): Do no merging when source function

[PATCH] x86: Set frame size to 0 if stack frame isn't required

2018-12-15 Thread H.J. Lu
get_frame_size () returns used stack slots during compilation, which may be optimized out later. Since ix86_find_max_used_stack_alignment checks if stack frame is required, it can set a bit in machine_function to let ix86_compute_frame_layout know that stack frame isn't required. Tested on i686

Re: [PATCH] x86: Don't use get_frame_size to finalize stack frame

2018-12-15 Thread H.J. Lu
On Fri, Dec 14, 2018 at 04:04:02PM -0800, H.J. Lu wrote: > On Fri, Dec 14, 2018 at 3:24 PM Jeff Law wrote: > > > > On 12/14/18 4:01 PM, H.J. Lu wrote: > > > On Thu, Dec 13, 2018 at 11:11 PM Uros Bizjak wrote: > > >> On Thu, Dec 13, 2018 at 6:36 PM H.J. Lu wrote: > > >>> get_frame_size ()

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-15 Thread Segher Boessenkool
On Fri, Dec 14, 2018 at 01:49:40PM +, Richard Sandiford wrote: > > OK, I read PR52813 too, but I'm not sure to fully understand the new status. > > My understanding is that since this patch was committed, if an asm statement > > clobbers sp, it is now allowed to actually declare it as clobber

Re: [Patch, PR 88253, combine] Prevent combine simplification to zero if side_effects_p

2018-12-15 Thread Segher Boessenkool
Hi! On Fri, Dec 14, 2018 at 09:21:26AM +, senthilkumar.selva...@microchip.com wrote: > This patch fixes PR 88253 by preventing combine_simplify_rtx from > folding an rtx with side_effects_p to const0_rtx. > 2018-12-14 Senthil Kumar Selvaraj > > PR 88253.c > * combine.c

Re: [C++ PATCH] Sanity check __cxa_* user declarations (PR c++/88482)

2018-12-15 Thread Jakub Jelinek
On Sat, Dec 15, 2018 at 12:22:44PM +0100, Jakub Jelinek wrote: > > Fix libitm. > > Ok, will do. Hre it is in patch form: 2018-12-15 Jakub Jelinek PR c++/88482 * except.c (verify_library_fn): New function. (declare_library_fn): Use it. Initialize TM even if the

Re: [PATCH] match_asm_constraints: Use copy_rtx where needed (PR88001)

2018-12-15 Thread Segher Boessenkool
On Thu, Dec 13, 2018 at 11:09:14AM -0700, Jeff Law wrote: > On 12/12/18 1:22 PM, Segher Boessenkool wrote: > > The new insn here (temporarily) illegally shares RTL. This fixes it. > > > > Tested with an ARC cross, and regstrapped on powerpc64-linux {-m32,-m64}. > > Is this okay for trunk? > > >

Re: [C++ PATCH] Sanity check __cxa_* user declarations (PR c++/88482)

2018-12-15 Thread Jakub Jelinek
On Fri, Dec 14, 2018 at 04:59:44PM -0500, Jason Merrill wrote: > > extern void __cxa_throw (void *, void *, void *) WEAK; > > void > > _ITM_cxa_throw (void *obj, void *tinfo, void *dest) > > { > >// This used to be instrumented, but does not need to be anymore. > >__cxa_throw (obj, tinfo,

Re: [PATCH, C++] Fix PR c++/88261

2018-12-15 Thread Bernd Edlinger
Thanks Jakub, for the additional test cases, they work just fine, so I added them as-is. Bernd. On 12/15/18 10:33 AM, Jakub Jelinek wrote: > On Sat, Dec 15, 2018 at 08:36:25AM +, Bernd Edlinger wrote: >> this patch implements an error message, for non-static initialization of a >>

Re: [PATCH] Avoid useless lookup_external_ref calls with LTO

2018-12-15 Thread Jan Hubicka
> > 2018-10-31 Richard Biener > > * dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call > with is_type_die. As discussed on IRC, i have backported this to GCC 8 because it causes noticeable slowness when building Firefox with debug info. Honza

Fix optimizationa and target options of merged global constructors/destructors

2018-12-15 Thread Jan Hubicka
Hi, current merged global constructors and destructors are built without any OPTIMIZATION and TARGET attributes. Unforutnately for Firefox 64 this leads to a binary that crashes at startup because it gets autovectoried AVX instructions (and my CPU doesn't support them). This is result of option

Re: Add a loop versioning pass

2018-12-15 Thread Richard Biener
On December 14, 2018 5:18:38 PM GMT+01:00, Richard Sandiford wrote: >Richard Biener writes: >> On December 12, 2018 7:43:10 PM GMT+01:00, Richard Sandiford > wrote: >>>Richard Biener writes: On Thu, Dec 6, 2018 at 2:19 PM Richard Sandiford > Tested on x86_64-linux-gnu,

Re: [PATCH] Fix up AVX512F masked gather vectorization, add support for AVX512F 512-bit masked scatter vectorization (PR tree-optimization/88464)

2018-12-15 Thread Richard Biener
On December 14, 2018 8:47:08 PM GMT+01:00, Jakub Jelinek wrote: >Hi! > >In the previous patch I've unfortunately left one important case from >the >testcase and apparently it wasn't covered by anything else in the >testsuite. >The 3 functions covered float and double gathers with indexes with

Re: [PATCH] Fix up AVX512F masked gather vectorization, add support for AVX512F 512-bit masked scatter vectorization (PR tree-optimization/88464)

2018-12-15 Thread Uros Bizjak
On 12/14/18, Jakub Jelinek wrote: > Hi! > > In the previous patch I've unfortunately left one important case from the > testcase and apparently it wasn't covered by anything else in the > testsuite. > The 3 functions covered float and double gathers with indexes with the same > bitsize and

Re: [PATCH, C++] Fix PR c++/88261

2018-12-15 Thread Jakub Jelinek
On Sat, Dec 15, 2018 at 08:36:25AM +, Bernd Edlinger wrote: > this patch implements an error message, for non-static initialization of a > flexible array member. > This duplicates the existing error message from the C-FE, to avoid ICE and > wrong code generation > issues, as pointed out in

[PATCH, C++] Fix PR c++/88261

2018-12-15 Thread Bernd Edlinger
Hi, this patch implements an error message, for non-static initialization of a flexible array member. This duplicates the existing error message from the C-FE, to avoid ICE and wrong code generation issues, as pointed out in the PR. It is a bit funny that a non-functional feature like that has