Re: [PATCH][RFC] Param to options conversion (demo).

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 9:56 AM Martin Liška wrote: > > On 11/5/19 5:01 PM, Richard Biener wrote: > > On Tue, Nov 5, 2019 at 4:22 PM Martin Liška wrote: > >> > >> On 11/5/19 3:13 PM, Richard Biener wrote: > >>> On Thu, Oct 31, 2019 at 2:17 PM Martin Liška

Re: [4/6] Optionally pick the cheapest loop_vec_info

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 3:01 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Tue, Nov 5, 2019 at 3:29 PM Richard Sandiford > > wrote: > >> > >> This patch adds a mode in which the vectoriser tries each available > >> base vector mode and

[PATCH] debug-counter for GIMPLE unrolling

2019-11-06 Thread Richard Biener
Helps to narrow down some bugs. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-07 Richard Biener * dbgcnt.def (gimple_unroll): New. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Check gimple_unroll debug counter before

Re: introduce -fcallgraph-info option

2019-11-06 Thread Richard Biener
On Wed, 6 Nov 2019, Alexandre Oliva wrote: > On Nov 4, 2019, Richard Biener wrote: > > > I wonder why we shouldn't simply adjust aux_base_name to something > > else for -flto [in the driver]. > > About that, having tried to make sense of the current uses of >

Re: [2/6] Don't assign a cost to vectorizable_assignment

2019-11-07 Thread Richard Biener
On Wed, Nov 6, 2019 at 4:58 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Tue, Nov 5, 2019 at 3:27 PM Richard Sandiford > > wrote: > >> > >> vectorizable_assignment handles true SSA-to-SSA copies (which hopefully > >> we don'

Re: Generalise gather and scatter optabs

2019-11-07 Thread Richard Biener
On Wed, Nov 6, 2019 at 5:06 PM Richard Sandiford wrote: > > The gather and scatter optabs required the vector offset to be > the integer equivalent of the vector mode being loaded or stored. > This patch generalises them so that the two vectors can have different > element sizes, although they sti

Re: [PATCH target/92295] Fix inefficient vector constructor

2019-11-07 Thread Richard Biener
On Thu, Nov 7, 2019 at 7:58 AM Hongtao Liu wrote: > > Ping! OK. Thanks, Richard. > On Sat, Nov 2, 2019 at 9:38 PM Hongtao Liu wrote: > > > > Hi Jakub: > > Could you help reviewing this patch. > > > > PS: Since this patch is related to vectors(avx512f), and Uros > > mentioned before that he h

[PATCH] Fix PR92405

2019-11-07 Thread Richard Biener
Bootstrapped & tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-07 Richard Biener PR tree-optimization/92405 * tree-vect-loop.c (vectorizable_reduction): Appropriately restrict lane-reducing ops to single stmt chains. Index: gcc/tree-vect-lo

Re: introduce -fcallgraph-info option

2019-11-07 Thread Richard Biener
On Thu, 7 Nov 2019, Alexandre Oliva wrote: > On Nov 7, 2019, Richard Biener wrote: > > > A simple test shows we currently only pass -auxbase-strip /tmp/cc...o > > to the LTRANS lto1 invocation plus -dumpbase cc...o > > This -auxbase-strip argument is introduced by

Re: [PATCH][vect] PR 92351: When peeling for alignment make alignment of epilogues unknown

2019-11-07 Thread Richard Biener
ent > of the epilogue's data references to DR_MISALIGNMENT_UNKNOWN. > > gcc/testsuite/ChangeLog: > 2019-11-07 Andre Vieira > > * gcc.dg/vect/vect-peel-2.c: Disable epilogue vectorization and > split the source of this test to... > * gcc.dg/vect/vect-p

Re: introduce -fcallgraph-info option

2019-11-07 Thread Richard Biener
On Thu, 7 Nov 2019, Alexandre Oliva wrote: > On Nov 7, 2019, Richard Biener wrote: > > > So how's -dumpbase handled? > > It's part of the gcc driver interface, and lto-wrapper passes it to gcc > for -fltrans compilations. -auxbase isn't, so one of the alt

Re: [1/6] Fix vectorizable_conversion costs

2019-11-07 Thread Richard Biener
On November 7, 2019 4:14:14 PM GMT+01:00, Richard Sandiford wrote: >Richard Biener writes: >> On Tue, Nov 5, 2019 at 3:25 PM Richard Sandiford >> wrote: >>> >>> This patch makes two tweaks to vectorizable_conversion. The first >>> is to use &

Re: introduce -fcallgraph-info option

2019-11-08 Thread Richard Biener
On Thu, 7 Nov 2019, Alexandre Oliva wrote: > On Nov 7, 2019, Richard Biener wrote: > > > (also raises the question why we have both -dumpbase and -auxbase ...) > > https://gcc.gnu.org/ml/gcc-patches/2002-08/msg00294.html > > This was before -dumpdir, however. >

[PATCH] Fix PR92324

2019-11-08 Thread Richard Biener
x27;m probably going to followup with some mass renaming of variable/parameter names to make it more clear which stmt / type we are actually looking at ... Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2019-11-08 Richard Biener PR tree-optimization/

Re: Free some more stuff in free_lang_data

2019-11-08 Thread Richard Biener
, t) > free_lang_data_in_binfo (t); > @@ -5569,6 +5580,8 @@ free_lang_data_in_type (tree type, class > { >if (TREE_CODE (type) == ENUMERAL_TYPE) > { > + ENUM_IS_OPAQUE (type) = 0; > + ENUM_IS_SCOPED (type) = 0; > /* Type values are used only for C++ ODR checking. Drop them >for all type variants and non-ODR types. >For ODR types the data is freed in free_odr_warning_data. */ > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

[PATCH] Use op->resimplify from genmatch

2019-11-08 Thread Richard Biener
Allows more refactoring here. Bootstrapped/tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-08 Richard Biener * genmatch.c (expr::gen_transform): Use the resimplify member function instead of hard-coding the gimple_resimplifyN variant. (dt_simplify

Re: [PATCH] Handle gimple_clobber_p stmts in store-merging (PR target/92038)

2019-11-08 Thread Richard Biener
ed, sizeof in); > } > > -/* Test verify_clear_bit_region_be that it clears exactly the bits asked and > +/* Test clear_bit_region_be that it clears exactly the bits asked and > nothing more. */ > > static void > --- gcc/testsuite/g++.dg/opt/store-merging-1.C.jj 2019-11-07 > 09:53:18.204021914 +0100 > +++ gcc/testsuite/g++.dg/opt/store-merging-1.C2019-11-07 > 12:16:48.270326348 +0100 > @@ -0,0 +1,9 @@ > +// PR target/92038 > +// { dg-do compile { target int32 } } > +// { dg-require-effective-target store_merge } > +// { dg-options "-O2 -flifetime-dse=2 -fdump-tree-store-merging-details" } > +// { dg-final { scan-tree-dump "New sequence of \[12] stores to replace old > one of 2 stores" "store-merging" } } > + > +struct S { S () : a (0), b (0) {} int a; char b; char c[3]; }; > +void foo (struct S); > +void bar (void) { struct S s; foo (s); } > --- gcc/testsuite/g++.dg/opt/store-merging-2.C.jj 2019-11-07 > 09:53:18.204021914 +0100 > +++ gcc/testsuite/g++.dg/opt/store-merging-2.C2019-11-07 > 12:16:59.482157827 +0100 > @@ -0,0 +1,10 @@ > +// PR target/92038 > +// { dg-do compile { target int32 } } > +// { dg-require-effective-target store_merge } > +// { dg-options "-O2 -flifetime-dse=2 -fdump-tree-store-merging-details" } > +// { dg-final { scan-tree-dump "New sequence of 2 stores to replace old one > of 3 stores" "store-merging" } } > + > +struct T { char a[128]; }; > +struct S { S () : a () { a.a[12] = 0; a.a[13] = 1; a.a[14] = 0; a.a[15] = 6; > } T a; }; > +void foo (S &); > +void bar (void) { S s; foo (s); } > --- gcc/testsuite/g++.dg/opt/store-merging-3.C.jj 2019-11-07 > 12:15:22.816610757 +0100 > +++ gcc/testsuite/g++.dg/opt/store-merging-3.C2019-11-07 > 12:14:43.651199435 +0100 > @@ -0,0 +1,8 @@ > +// PR target/92038 > +// { dg-do compile } > +// { dg-options "-O2 -flifetime-dse=2" } > + > +struct A { A (int); int a; }; > +struct B { B () : b(0) {} A b; }; > +struct C { C () : c () {} bool c; B d; }; > +void foo () { C d; } > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

Re: [PATCH] Ensure x86_64 TYPE_EMPTY_P args have distinct addresses (PR c++/92384)

2019-11-08 Thread Richard Biener
&e; > + h[5] = (void *) &f; > + h[6] = (void *) &g; > + asm volatile ("" : : "r" (h) : "memory"); > + return (h[0] != h[1] && h[1] != h[2] && h[2] != h[3] > + && h[3] != h[4] && h[4] != h[5] && h[5] != h[6]); > +} > + > +int > +main () > +{ > + S a; > + T b; > + U c = { 1, 2, 3 }; > + void *d[7]; > + if (!bar (a, a, a, b, b, b, c, d)) > +__builtin_abort (); > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

Re: [PATCH][vect] PR 92351: When peeling for alignment make alignment of epilogues unknown

2019-11-08 Thread Richard Biener
On Thu, 7 Nov 2019, Andre Vieira (lists) wrote: > > > On 07/11/2019 14:00, Richard Biener wrote: > > On Thu, 7 Nov 2019, Andre Vieira (lists) wrote: > > > >> Hi, > >> > >> PR92351 reports a bug in which a wrongly aligned load is generated for an

Re: [2/6] Don't assign a cost to vectorizable_assignment

2019-11-08 Thread Richard Biener
On Thu, Nov 7, 2019 at 5:40 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Nov 6, 2019 at 4:58 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Tue, Nov 5, 2019 at 3:27 PM Richard Sandiford > &

Re: [4/6] Optionally pick the cheapest loop_vec_info

2019-11-08 Thread Richard Biener
On Thu, Nov 7, 2019 at 6:15 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Nov 6, 2019 at 3:01 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Tue, Nov 5, 2019 at 3:29 PM Richard Sandiford > >

Re: [PATCH] Fix PR92324

2019-11-08 Thread Richard Biener
On Fri, 8 Nov 2019, Richard Sandiford wrote: > Richard Biener writes: > > I've been sitting on this for a few days since I'm not 100% happy > > with how the code looks like. There's possibly still holes in it > > (chains with mixed signed/unsigned adds for e

Re: Mark constant-sized objects as addressable if they have poly-int accesses

2019-11-08 Thread Richard Biener
On Fri, Nov 8, 2019 at 10:40 AM Richard Sandiford wrote: > > If SVE code is written for a specific vector length, it might load from > or store to fixed-sized objects. This needs to work even without > -msve-vector-bits=N (which should never be needed for correctness). > > There's no way of handl

Re: Fix code order in tree-sra.c:create_access

2019-11-08 Thread Richard Biener
On Fri, Nov 8, 2019 at 12:04 PM Martin Jambor wrote: > > Hi, > > On Fri, Nov 08 2019, Richard Sandiford wrote: > > If get_ref_base_and_extent returns poly_int offsets or sizes, > > tree-sra.c:create_access prevents SRA from being applied to the base. > > However, we haven't verified by that point

[PATCH] Fix PR92088

2019-11-08 Thread Richard Biener
-unknown-linux-gnu. OK for trunk? Thanks, Richard. 2019-11-09 Richard Biener PR c/92088 c/ * c-decl.c (grokdeclarator): Prevent inlining of nested function with VLA arguments. * builtins.c (compute_objsize): Deal with VLAs. * gcc.dg/torture

[PATCH] Fix PR92409

2019-11-08 Thread Richard Biener
The following fixes an ICE with the recent relaxing of type constraints for inlining. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-08 Richard Biener PR ipa/92409 * tree-inline.c (declare_return_variable): Properly handle type

[PATCH] Debug counter for IVOPTs

2019-11-08 Thread Richard Biener
Bootstrapped / tested on x86_64-unknwon-linux-gnu, applied. Richard. 2019-11-08 Richard Biener * dbgcnt.def (ivopts_loop): Add. * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Check ivopts_loop before optimizing a loop. Index: gcc/dbgcnt.def

Re: [PATCH][vect] PR 92351: When peeling for alignment make alignment of epilogues unknown

2019-11-08 Thread Richard Biener
On Fri, 8 Nov 2019, Richard Sandiford wrote: > Richard Biener writes: > > On Thu, 7 Nov 2019, Andre Vieira (lists) wrote: > >> On 07/11/2019 14:00, Richard Biener wrote: > >> > On Thu, 7 Nov 2019, Andre Vieira (lists) wrote: > >> > > >> >

Re: [PATCH] Fix ICE during gimple resimplification (PR tree-optimization/92401)

2019-11-08 Thread Richard Biener
On November 9, 2019 1:07:18 AM GMT+01:00, Jakub Jelinek wrote: >Hi! > >On the following testcase we ICE, because gimple_resimplify3 is called >on a CONSTRUCTOR with 3 elements, which is fine, but it calls >fold_ternary >which works only on expression codes with TREE_CODE_LENGTH of 3. > >Fixed thu

Re: [PATCH][vect]Account for epilogue's peeling for gaps when checking if we have enough niters for epilogue

2019-11-10 Thread Richard Biener
> > * tree-vect-loop-manip.c (vect_do_peeling): Take epilogue gaps > into account when checking if there are enough iterations to > vectorize epilogue. > > gcc/testsuite/ChangeLog: > 2019-11-08 Andre Vieira > > * gcc.dg/vect/vect-reduc-epil

Re: [PATCH] Bump minimum MPFR version to 3.1.0

2019-11-11 Thread Richard Biener
On November 9, 2019 8:47:52 PM GMT+01:00, Janne Blomqvist wrote: >Bump the minimum MPFR version to 3.1.0, released 2011-10-03. With this >requirement one can still build GCC with the operating system provided >MPFR on old but still supported operating systems like SLES 12 (MPFR >3.1.2) or RHEL/Ce

Re: [PATCH] Fix PR92324

2019-11-11 Thread Richard Biener
On Mon, 11 Nov 2019, Christophe Lyon wrote: > On Fri, 8 Nov 2019 at 09:57, Richard Biener wrote: > > > > > > I've been sitting on this for a few days since I'm not 100% happy > > with how the code looks like. There's possibly still holes in it >

Re: Fix SLP downward group access classification (PR92420)

2019-11-11 Thread Richard Biener
On Fri, Nov 8, 2019 at 5:21 PM Richard Sandiford wrote: > > This PR was caused by the SLP handling in get_group_load_store_type > returning VMAT_CONTIGUOUS rather than VMAT_CONTIGUOUS_REVERSE for > downward groups. > > A more elaborate fix would be to try to combine the reverse permutation > into

Re: [RFC] Only warn for maybe-uninitialized SRAed bits in -Wextra (PR 80635)

2019-11-11 Thread Richard Biener
On Fri, Nov 8, 2019 at 1:41 PM Martin Jambor wrote: > > Hi, > > this patch is an attempt to implement my idea from a previous thread > about moving -Wmaybe-uninitialized to -Wextra: > > https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00220.html > > Specifically, it attempts to split -Wmaybe-uninitia

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-11 Thread Richard Biener
On Mon, Nov 11, 2019 at 9:17 AM Martin Liška wrote: > > Hi. > > The patch makes debug counter more usable. In particular, one can now > list multiple closed intervals and -fdbg-cnt-list can reflect that. > Based on the discussion with Richard, I decided to leave semi-closed > intervals and make it

Re: [PATCH] Sort debug counter names.

2019-11-11 Thread Richard Biener
On Mon, Nov 11, 2019 at 9:23 AM Martin Liška wrote: > > Hi. > > The small patch is about sorting of debug counter > values. > > Ready to be installed? OK > Thanks, > Martin

Re: [PATCH] Relax lto-dump.o dependency.

2019-11-11 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:06 PM Martin Liška wrote: > > Hi. > > Current lto-dump.o relies on some FE generated files as > pre-requirement. That hover delays LTO linking of the lto-dump > and so that I adjusted the dependency to LTO_OBJS which will > work as well. > > Patch can bootstrap on x86_64-

Re: [8/n] Replace autovectorize_vector_sizes with autovectorize_vector_modes

2019-11-11 Thread Richard Biener
On Wed, Oct 30, 2019 at 4:58 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Oct 25, 2019 at 2:37 PM Richard Sandiford > > wrote: > >> > >> This is another patch in the series to remove the assumption that > >> all modes invol

Re: [PATCH 3/7] Apply mechanical replacement (generated patch).

2019-11-11 Thread Richard Biener
On Thu, Nov 7, 2019 at 1:35 PM Martin Liska wrote: > > > gcc/ChangeLog: I think I've noticed at least one long line (please double-check): - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) INTEGER_SHARE_LIMIT) + if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) param_intege

Re: [PATCH 0/7] Param conversion to option machinery

2019-11-11 Thread Richard Biener
On Thu, Nov 7, 2019 at 1:33 PM Martin Liska wrote: > > The email thread is follow up of a demo that I made here: > https://gcc.gnu.org/ml/gcc-patches/2019-10/msg02220.html > > The patchset converts current param infrastructure to > the option machinery. The parts 3 and 4 are quite > mechanical. >

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-11 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:33 PM Martin Liška wrote: > > On 11/11/19 3:19 PM, Richard Biener wrote: > > On Mon, Nov 11, 2019 at 9:17 AM Martin Liška wrote: > >> > >> Hi. > >> > >> The patch makes debug counter more usable. In particular, one can n

Re: [PATCH] Fix ICE in vrp on aarch64 (PR tree-optimization/92452)

2019-11-11 Thread Richard Biener
} > } >else > --- gcc/testsuite/c-c++-common/pr92452.c.jj 2019-11-11 17:06:01.525495277 > +0100 > +++ gcc/testsuite/c-c++-common/pr92452.c 2019-11-11 17:05:31.256950180 > +0100 > @@ -0,0 +1,5 @@ > +/* PR tree-optimization/92452 */ > +/* { dg-do compile

Re: [PATCH] Avoid *ORDERED_EXPRs in the IL if !HONOR_NANS (PR target/92449)

2019-11-11 Thread Richard Biener
add_phi_arg (imag_phi, tmpi, orig_to_join, UNKNOWN_LOCATION); > } >else > /* If we are not worrying about NaNs expand to > (ar*br - ai*bi) + i(ar*bi + br*ai) directly. */ > expand_complex_multiplication_components (gsi, inner_type, ar, ai, > -

Re: [PATCH][vect]PR92347: Don't overwrite safelen for epilogues

2019-11-11 Thread Richard Biener
OK (and committed). Richard. > Cheers, > Andre > > gcc/ChangeLog: > 2019-11-11 Andre Vieira > > * tree-vect-loop.c (vect_transform_loop): Don't overwrite epilogues > safelen with 0. > > gcc/testsuite/ChangeLog: > 2019-11-11 Andre Vieira

Re: [PATCH] errno can't alias locals (PR 92412)

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 11:38 PM Martin Sebor wrote: > > The conditional in default_ref_may_alias_errno has the function > return true even for local variables, implying that locals must > be assumed not to have been changed across calls to errno-setting > functions like malloc. This leads to bot

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > I'm not sure what semantics we might eventually want for vector <=>, but let's > give a sorry for now. Given our vector extension does elementwise comparisons I don't think we can implement <=> in a reasonable manner. What we could eventua

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:15 AM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: > > > > On 11/6/19 3:34 PM, Martin Sebor wrote: > > > On 11/6/19 2:06 PM, Martin Sebor wrote: > > >> On 11/6/19 1:39 PM, Jeff Law wrote: > &g

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: > > On 11/6/19 3:34 PM, Martin Sebor wrote: > > On 11/6/19 2:06 PM, Martin Sebor wrote: > >> On 11/6/19 1:39 PM, Jeff Law wrote: > >>> On 11/6/19 1:27 PM, Martin Sebor wrote: > On 11/6/19 11:55 AM, Jeff Law wrote: > > On 11/6/19 11:00 AM, Ma

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > Hi: > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > all AVX target because we found there's still performance gap between > 128-bit auto-vectorization and 256-bit auto-vectorization even with > epilog vectorized. > Th

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:19 AM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > Hi: > > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > > all AVX target because we found there's still perfo

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:56 PM Martin Liška wrote: > > On 11/11/19 3:19 PM, Richard Biener wrote: > > -static unsigned int limit_low[debug_counter_number_of_counters]; > > +static auto_vec > > *limits[debug_counter_number_of_counters] = {NULL}; > > Hm, apparently i

Re: [PATCH] Sort debug counter names.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:50 AM Martin Liška wrote: > > On 11/11/19 3:20 PM, Richard Biener wrote: > > On Mon, Nov 11, 2019 at 9:23 AM Martin Liška wrote: > >> > >> Hi. > >> > >> The small patch is about sorting of debug counter > >

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:29 AM Hongtao Liu wrote: > > On Tue, Nov 12, 2019 at 4:19 PM Richard Biener > wrote: > > > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > > > Hi: > > > This patch is about to set X86_TUNE_AVX128_OPTIMA

Re: [PATCH] Use more SET_OPTION_IF_UNSET.

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:04 PM Martin Liška wrote: > > There's one more refactoring patch that is about more > usage of SET_OPTION_IF_UNSET for parameters. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK. Richard. > Thanks, > Martin

Re: [PATCH] Refactor tree-loop-distribution for thread safety

2019-11-12 Thread Richard Biener
On Sat, Nov 9, 2019 at 3:26 PM Giuliano Belinassi wrote: > > Hi all, > > This patch refactors tree-loop-distribution.c for thread safety without > use of C11 __thread feature. All global variables were moved to a struct > which is initialized at ::execute time. Thanks for working on this. I've b

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:02 AM Jakub Jelinek wrote: > > On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > > > > > I'm not sure what semantics we might eventually want for vector <=

Re: [11/n] Support vectorisation with mixed vector sizes

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:38 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Oct 25, 2019 at 2:43 PM Richard Sandiford > > wrote: > >> > >> After previous patches, it's now possible to make the vectoriser > >> support mult

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:47 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Nov 6, 2019 at 12:02 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford >

Re: [14/n] Vectorise conversions between differently-sized integer vectors

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:45 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Oct 25, 2019 at 2:51 PM Richard Sandiford > > wrote: > >> > >> This patch adds AArch64 patterns for converting between 64-bit and > >> 128-bit integer vect

Re: [PATCH 8/9] Remove option_default_params and option_validate_param hooks.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:21 AM Martin Liška wrote: > > On 11/11/19 3:36 PM, Richard Biener wrote: > > as a followup I notice that the targets *_default_params () functions should > > be merged into the default-options structs they have (did you check the > > defaults ar

Re: [PATCH 0/7] Param conversion to option machinery

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:23 AM Martin Liška wrote: > > On 11/11/19 3:42 PM, Richard Biener wrote: > > I didn't go over them but maybe we can postpone this to a followup > > and for now make_none_ of them Optimization which preserves > > Ok, there's updated

Re: [PATCH 3/7] Apply mechanical replacement (generated patch).

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:19 AM Martin Liška wrote: > > On 11/11/19 3:36 PM, Richard Biener wrote: > > I think I've noticed at least one long line (please double-check): > > > > - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > > INT

Re: [PATCH] Avoid *ORDERED_EXPRs in the IL if !HONOR_NANS (PR target/92449)

2019-11-12 Thread Richard Biener
On Tue, 12 Nov 2019, Segher Boessenkool wrote: > On Tue, Nov 12, 2019 at 08:47:55AM +0100, Richard Biener wrote: > > OK, but IMHO it is not a good idea to assert UNORDERED_EXPR cannot > > appear with !HONOR_NANS, is it? > > If we allow that, we should allow UNLT/UNGT/UNLE/U

[PATCH] Fix PR92461

2019-11-12 Thread Richard Biener
Bootstrapped & tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-12 Richard Biener PR tree-optimization/92461 * tree-vect-loop.c (vect_create_epilog_for_reduction): Update stmt after propagation. * gcc.dg/torture/pr92461.c: New testcase. I

[PATCH] Fix PR92460

2019-11-12 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-12 Richard Biener PR tree-optimization/92460 * tree-vect-stmts.c (vectorizable_simd_clone_call): Unshare expression before gimplifying. Index: gcc/tree-vect-stmts.c

Re: Teach ipa-cp to propagate value ranges over binary operaitons too

2019-11-12 Thread Richard Biener
(jfunc->m_vr) > + { > + value_range jvr; > + if (ipa_vr_operation_and_type_effects (&jvr, jfunc->m_vr, > + NOP_EXPR, > + param_type, > + jfunc->m_vr->type ())) > + vr.intersect (*jfunc->m_vr); > + } > + return dest_lat->meet_with (&vr); > } > } >else if (jfunc->type == IPA_JF_CONST) > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

Re: [PATCH] Free dominance info at the beginning of pass_jump_after_combine

2019-11-12 Thread Richard Biener
ons "-Os -fno-if-conversion -fno-tree-dce > -fno-tree-loop-optimize -fno-tree-vrp" } > + > +int eb, ko; > + > +void > +e9 (int pe, int lx) > +{ > + int ir; > + > + for (ir = 0; ir < 1; ++ir) > +{ > + for (ko = 0; ko < 1; ++ko) > +

[PATCH] Fix PR92473

2019-11-13 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-13 Richard Biener PR tree-optimization/92473 * tree-vect-loop.c (vect_create_epilog_for_reduction): Perform direct optab reduction in the correct type. Index: gcc/tree-vect-loop.c

Re: [PATCH] Remove params for a specific optimization option.

2019-11-13 Thread Richard Biener
On Wed, Nov 13, 2019 at 9:30 AM Martin Liška wrote: > > On 11/13/19 9:20 AM, Jan Hubicka wrote: > >> Hello. > >> > >> The patch is about removal of special *-O2 parameters that Honza added > >> some time > >> ago. Right now, we have a better mechanism how to have a different default > >> value >

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-13 Thread Richard Biener
On Wed, Nov 13, 2019 at 10:15 AM Martin Liška wrote: > > On 11/12/19 10:00 AM, Martin Liška wrote: > > There's one another version that I'm testing right now. > > It survives regression tests and bootstrap. > > Richi, may I install it the patch? Yes. Thanks, Richard. > > Thanks, > Martin

Re: [PATCH 1/5] Do not overuse push/pop_cfun in IPA ICF.

2019-11-13 Thread Richard Biener
On Wed, Nov 13, 2019 at 10:22 AM Martin Liska wrote: > OK. > gcc/ChangeLog: > > 2019-11-11 Martin Liska > > * ipa-icf.c (sem_function::equals_private): Do not overuse > push/pop_cfun functions. > --- > gcc/ipa-icf.c | 7 +-- > 1 file changed, 1 insertion(+), 6 deletions(-

Re: Ping: [PATCH V6] Extend IPA-CP to support arithmetically-computed value-passing on by-ref argument (PR ipa/91682)

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 2:27 PM Jan Hubicka wrote: > > > Hi, > > > > On Tue, Nov 12 2019, Jan Hubicka wrote: > > > Also note that there is a long standing problem with inlining ipacp > > > clones. This can be shown on the following example: > > > > > > struct a {int a;}; > > > static int foo (str

Re: [PATCH] PR90838: Support ctz idioms

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 3:36 PM Wilco Dijkstra wrote: > > Hi, > > Support common idioms for count trailing zeroes using an array lookup. > The canonical form is array[((x & -x) * C) >> SHIFT] where C is a magic > constant which when multiplied by a power of 2 contains a unique value > in the top 5

Re: [PATCH] Refactor tree-loop-distribution for thread safety

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 2:31 PM Giuliano Belinassi wrote: > > Hi, Richard. > > On 11/12, Richard Biener wrote: > > On Sat, Nov 9, 2019 at 3:26 PM Giuliano Belinassi > > wrote: > > > > > > Hi all, > > > > > > This patch refactors tree-lo

Re: [8/n] Replace autovectorize_vector_sizes with autovectorize_vector_modes

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 6:54 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Oct 30, 2019 at 4:58 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Fri, Oct 25, 2019 at 2:37 PM Richard Sandiford > &g

Re: [PATCH] contrib/download_prerequisites: Use http instead of ftp

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:34 PM Janne Blomqvist wrote: > > Convert the download_prerequisites script to use http instead of > ftp. This works better with firewalls, proxies, and so on. It's also > faster, a quick test on my system before patch: > > time contrib/download_prerequisites --directory=/

Re: handle VIEW_CONVERT_EXPR in debug_node

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:49 PM Ulrich Drepper wrote: > > I am using debug_node() to emit the tree of functions for later > processing. For this I need all the information to be present. So far > I came across one expression type that isn't handled correctly. For > VIEW_CONVERT_EXPR only the ty

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 6:55 PM Jeff Law wrote: > > On 11/12/19 1:15 AM, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: > >> > >> On 11/6/19 3:34 PM, Martin Sebor wrote: > >>> On 11/6/19 2:06 PM, Martin Sebor wrote: > >&g

Re: [PATCH] Sort debug counter names.

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:01 AM Martin Liška wrote: > > On 11/12/19 9:39 AM, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 8:50 AM Martin Liška wrote: > >> > >> On 11/11/19 3:20 PM, Richard Biener wrote: > >>> On Mon, Nov 11, 2019 at 9:2

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:52 AM Jakub Jelinek wrote: > > On Tue, Nov 12, 2019 at 10:19:49AM +0100, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 10:02 AM Jakub Jelinek wrote: > > > > > > On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > >

Re: [PATCH] errno can't alias locals (PR 92412)

2019-11-13 Thread Richard Biener
On Tue, Nov 12, 2019 at 11:13 AM Andreas Schwab wrote: > > On Nov 12 2019, Richard Biener wrote: > > > This means a tentative definition for 'errno' is non-conforming? > > https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html > > If a macro

Re: Avoid char[] array in tree_def

2020-11-01 Thread Richard Biener
On October 31, 2020 11:35:01 PM GMT+01:00, Jan Hubicka wrote: >> On 10/29/20 1:40 PM, Richard Biener wrote: >> > On Thu, 29 Oct 2020, Jakub Jelinek wrote: >> > >> > > On Thu, Oct 29, 2020 at 05:00:40PM +0100, Jan Hubicka wrote: >> > > > > &

[PATCH] tree-optimization/97558 - avoid SLP analyzing irrelevant stmts

2020-11-02 Thread Richard Biener
tested on x86_64-unknown-linux-gnu, pushed. 2020-11-02 Richard Biener PR tree-optimization/97558 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Check for any mismatch in pattern vs. non-pattern and dissolve the group if there is one. * tree-vect

[PATCH] tree-optimization/97650 - fix ICE in vect_get_and_check_slp_defs

2020-11-02 Thread Richard Biener
I was mistaken to treat vect_external_def as only applying to SSA_NAME defs, so check for that. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-02 Richard Biener PR tree-optimization/97650 * tree-vect-slp.c (vect_get_and_check_slp_defs): Check for

[PATCH] tree-optimization/97558 - compute vectype for SLP nested cycles

2020-11-02 Thread Richard Biener
This makes sure to compute the vector type for invariant SLP children of nested cycles. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-02 Richard Biener PR tree-optimization/97558 * tree-vect-loop.c (vectorizable_reduction): For nested SLP cycles

Re: [PATCH] Fix PR97205

2020-11-02 Thread Richard Biener
AMEs? The other pieces look OK but the above is a bit ugly at the moment. Thanks, Richard, > > > Thanks > Bernd. > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imend

[PATCH] Rewrite SLP induction vectorization

2020-11-02 Thread Richard Biener
tep vector from scalars ... Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-02 Richard Biener * tree.h (build_real_from_wide): Declare. * tree.c (build_real_from_wide): New function. * tree-vect-slp.c (vect_build_slp_tree_2): Remove rest

[PATCH] testsuite/97688 - fix check_vect () with __AVX2__

2020-11-03 Thread Richard Biener
This fixes the cpuid check to always specify a subleaf zero which is required to detect AVX2 and doesn't hurt for level one. Without this fix we get zero runtime coverage when -mavx2 is specified. Tested on x86_64-unknown-linux-gnu. 2020-11-03 Richard Biener PR testsuite/

Re: [PATCH] Fix PR97205

2020-11-03 Thread Richard Biener
On Mon, 2 Nov 2020, Bernd Edlinger wrote: > On 11/2/20 3:07 PM, Richard Biener wrote: > > On Mon, 2 Nov 2020, Bernd Edlinger wrote: > > > >> Hi, > >> > >> this makes sure that stack allocated SSA_NAMEs are > >> at least MODE_ALIGNED. Also in

[PATCH] tree-optimization/97678 - fix SLP induction epilogue vectorization

2020-11-03 Thread Richard Biener
This restores not tracking SLP nodes for induction initial values in not nested context because this interferes with peeling and epilogue vectorization. Boostrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-03 Richard Biener PR tree-optimization/97678 * tree

Re: [PATCH] Fix PR97205

2020-11-03 Thread Richard Biener
On Tue, 3 Nov 2020, Bernd Edlinger wrote: > > > On 11/3/20 10:34 AM, Richard Biener wrote: > > On Mon, 2 Nov 2020, Bernd Edlinger wrote: > > > >> On 11/2/20 3:07 PM, Richard Biener wrote: > >>> On Mon, 2 Nov 2020, Bernd Edlinger wrote: > >>&g

[PATCH] bootstrap/97666 - fix array of bool allocation

2020-11-03 Thread Richard Biener
This fixes the bad assumption that sizeof (bool) == 1 Bootstrap / regtest running on x86_64-unknown-linux-gnu. 2020-11-03 Richard Biener PR bootstrap/97666 * tree-vect-slp.c (vect_build_slp_tree_2): Scale allocation of skip_args by sizeof (bool). --- gcc/tree-vect

[PATCH] fortran/97652 - workaround missing canonicalization of PDT types

2020-11-03 Thread Richard Biener
86_64-unknown-linux-gnu. OK? 2020-11-03 Richard Biener PR fortran/97652 gcc/fortran * trans-types.c (gfc_get_derived_type): When we didn't find a canonical type mark it for structual equality. --- gcc/fortran/trans-types.c | 2 ++ 1 file changed, 2 insertions(+) di

[PATCH] tree-optimization/80928 - SLP vectorize nested loop induction

2020-11-03 Thread Richard Biener
This adds SLP vectorization of nested inductions. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-11-03 Richard Biener PR tree-optimization/80928 * tree-vect-loop.c (vectorizable_induction): SLP vectorize nested inductions. * gcc.dg/vect/vect

Re: [PATCH] fortran/97652 - workaround missing canonicalization of PDT types

2020-11-03 Thread Richard Biener
because we optimize one loop to an endless loop, the reason is mentioned in the PRs audit-trail. Thanks, Richard. > > Paul > > > On Tue, 3 Nov 2020 at 11:35, Richard Biener wrote: > > > This marks PDT types as needing structural comparison for TBAA > > if we didn&#x

[PATCH] Save some memory at debug stream-in time

2020-11-03 Thread Richard Biener
sting in progress. 2020-11-03 Richard Biener * dwarf2out.c (maybe_create_die_with_external_ref): Remove hashtable entry. --- gcc/dwarf2out.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 534877babfb..64ac94a8cbd 100644 ---

Re: Add fnspec to C++ new and delete

2020-11-03 Thread Richard Biener
a/devirt-24.C > index eaef1f5b3f8..7b5b806dd05 100644 > --- a/gcc/testsuite/g++.dg/ipa/devirt-24.C > +++ b/gcc/testsuite/g++.dg/ipa/devirt-24.C > @@ -37,4 +37,4 @@ C *b = new (C); >} > } > /* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a known > targe

[PATCH] middle-end/97579 - fix VEC_COND_EXPR ISEL optab query

2020-11-03 Thread Richard Biener
This fixes a mistake in the optab query done by ISEL. It doesn't fix the PR but shifts the ICE elsewhere. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2020-11-03 Richard Biener PR middle-end/97579 * gimple-isel.cc (gimple_expand_vec_cond

[PATCH] tree-optimization/97623 - limit PRE hoist insertion

2020-11-03 Thread Richard Biener
This limits insert iteration caused by PRE insertions generating hoist insertion opportunities and vice versa. The patch limits the hoist insertion iterations to three by default. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2020-11-03 Richard Biener PR

Re: [PATCH] bootstrap/97666 - fix array of bool allocation

2020-11-03 Thread Richard Biener
On Wed, 4 Nov 2020, Iain Sandoe wrote: > Martin Sebor via Gcc-patches wrote: > > >On 11/3/20 4:13 AM, Richard Biener wrote: > >>This fixes the bad assumption that sizeof (bool) == 1 > >>Bootstrap / regtest running on x86_64-unknown-linux-gnu. > >>2020-11

<    5   6   7   8   9   10   11   12   13   14   >