C++ PATCH for c++/85764, bogus 'this' not captured error

2018-06-01 Thread Jason Merrill
Here, because we're inside a member function, resolvable_dummy_lambda thought we could resolve a reference to 'this'. But because it's a static member function, we can't. Using nonlambda_method_basetype instead of current_nonlambda_class_type fixes that, but then I needed to improve n_m_b to

[PATCH], Add weak references to bridge old/new PowerPC ieee 128-bit name mangling

2018-06-01 Thread Michael Meissner
The new mangling scheme for PowerPC now uses "u9__ieee128" as the mangled name instead of "U10__float128". This would break old code that used __float128 and called to libraries built with the new compiler. This patch adds a hook to emit a weak reference for the old mangled name when we are

Re: [PATCH] PR target/85358: Add target hook to prevent default widening

2018-06-01 Thread Joseph Myers
On Fri, 1 Jun 2018, Michael Meissner wrote: > I'm wondering if there are other suggestions to make this patch acceptable. > > As I mentioned previously, the initialization process needs to go through all > of the widening tables in order to initialize all FP types, so we can't just > arbitrarily

Re: [PATCH 09/10] Experiment with using optinfo in gimple-loop-interchange.cc

2018-06-01 Thread David Malcolm
On Fri, 2018-06-01 at 17:31 +0200, Richard Biener wrote: > On June 1, 2018 3:40:15 PM GMT+02:00, David Malcolm com> wrote: > > On Fri, 2018-06-01 at 11:50 +0200, Richard Biener wrote: > > > On Tue, May 29, 2018 at 10:33 PM David Malcolm > > om> > > > wrote: > > > > > > > > This was an

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Segher Boessenkool
On Fri, Jun 01, 2018 at 09:33:57PM +, Joseph Myers wrote: > On Fri, 1 Jun 2018, Segher Boessenkool wrote: > > > This patch changes the (C++) mangling of the 128-bit float types. > > IBM long double ("double-double") is mangled as "g", as before, and > > IEEE 128-bit long double is mangled as

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Joseph Myers
On Fri, 1 Jun 2018, Segher Boessenkool wrote: > This patch changes the (C++) mangling of the 128-bit float types. > IBM long double ("double-double") is mangled as "g", as before, and > IEEE 128-bit long double is mangled as "u9__ieee128". To be clear: given this mangling (which certainly

Re: [PATCH] DWARF5: Don't generate DW_AT_loclists_base for split compile unit DIEs.

2018-06-01 Thread Jason Merrill
OK. On Fri, Jun 1, 2018 at 8:29 AM, Mark Wielaard wrote: > On Sat, 2018-05-26 at 21:31 +0200, Mark Wielaard wrote: >> The loclists_base attribute is used to point to the beginning of the >> loclists index of a DWARF5 loclists table when using DW_FORM_loclistsx. >> For split compile units the

Re: [C++ Patch] Fix some locations

2018-06-01 Thread Jason Merrill
On Fri, Jun 1, 2018 at 5:03 PM, Paolo Carlini wrote: > while working on some bugs I noticed that in a few places in decl.c we could > do better in terms of locations within the current infrastructure, some > simple, straightforward improvements. I'm attaching below a tiny first > patch, more to

Re: [PATCH, rs6000 4/9] Testcase coverage for vec_xst() instrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:57:57PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-store-vec_xst-char.c : New. > * gcc.target/powerpc/fold-vec-store-vec_xst-double.c : New. > * gcc.target/powerpc/fold-vec-store-vec_xst-float.c : New.

Re: [PATCH, rs6000 7/9] testcase updates for unaligned loads/stores

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:58:40PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/p8-vec-xl-xst-v2.c: New. > * gcc.target/powerpc/p8-vec-xl-xst.c: Disable gimple-folding. > * gcc.target/powerpc/swaps-p8-17.c: Same. Only one space after :

Re: [PATCH] c/55976 -Werror=return-type should error on returning a value from a void function

2018-06-01 Thread dave . pagan
Thanks for pointing this out. I'll check out what's going on and fix the issue --Dave On 05/31/2018 05:53 AM, H.J. Lu wrote: On Wed, May 30, 2018 at 3:56 PM, Jeff Law wrote: On 04/22/2018 01:17 PM, dave.pa...@oracle.com wrote: This patch fixes handling of -Werror=return-type as well as

Re: [PATCH] add udivhi3, umodhi3 functions to libgcc

2018-06-01 Thread Paul Koning
> On Jun 1, 2018, at 5:04 PM, Joseph Myers wrote: > > On Tue, 29 May 2018, Paul Koning wrote: > >> +unsigned short udivmodhi4(unsigned short, unsigned short, int); > > libgcc should not have any such non-static functions in the user > namespace; they should all start with __. That too is

Re: [PATCH, rs6000 5/9] Testcase coverage for builtin_vec_xst() instrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:58:11PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c: New. > * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c: New. > *

Re: [PATCH, rs6000 6/9] Testcase coverage for vec_vsx_st() intrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:58:29PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: New. > * gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c: New. > *

Re: [PATCH] add udivhi3, umodhi3 functions to libgcc

2018-06-01 Thread Joseph Myers
On Tue, 29 May 2018, Paul Koning wrote: > +unsigned short udivmodhi4(unsigned short, unsigned short, int); libgcc should not have any such non-static functions in the user namespace; they should all start with __. -- Joseph S. Myers jos...@codesourcery.com

[C++ Patch] Fix some locations

2018-06-01 Thread Paolo Carlini
Hi, while working on some bugs I noticed that in a few places in decl.c we could do better in terms of locations within the current infrastructure, some simple, straightforward improvements. I'm attaching below a tiny first patch, more to follow, I hope. For example, a function which could

Re: [PATCH, rs6000 3/9] Testcase coverage for vec_vsx_ld() instrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:57:48PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c : New. > * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c : New. > * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c

Re: [PATCH, rs6000 2/9] Testcase coverage for builtin_vec_xl() instrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:57:34PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: New. > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: New. > *

Re: [PATCH, rs6000 1/9] Testcase coverage for vec_xl() instrinsics

2018-06-01 Thread Segher Boessenkool
On Thu, May 31, 2018 at 02:57:21PM -0500, Will Schmidt wrote: > 2018-05-31 Will Schmidt > > * gcc.target/powerpc/fold-vec-load-vec_xl-char.c > * gcc.target/powerpc/fold-vec-load-vec_xl-double.c > * gcc.target/powerpc/fold-vec-load-vec_xl-float.c > *

Re: [ARM/FDPIC 02/21] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts

2018-06-01 Thread Joseph Myers
On Mon, 28 May 2018, Christophe Lyon wrote: > On 25/05/2018 18:32, Joseph Myers wrote: > > On Fri, 25 May 2018, Christophe Lyon wrote: > > > > > In libtool.m4, we use uclinuxfdpiceabi in cases where ELF shared > > > libraries support is required, as uclinux does not guarantee that. > > > > To

C++ PATCH for CWG 1581, when are constexpr member functions defined?

2018-06-01 Thread Jason Merrill
Since 5.2, GCC has deferred instantiation of constexpr functions until the point that the definition is necessary for evaluating a constant-expression. The resolution of core issue 1581 says that we need to be a bit more eager about instantiation: we should instantiate a constexpr function that

[MAINTAINERS] Added myself to write after approval

2018-06-01 Thread Jozef Lawrynowicz
Added myself to write after approval list in MAINTAINERS. Index: ChangeLog === --- ChangeLog (revision 261081) +++ ChangeLog (revision 261082) @@ -1,3 +1,7 @@ +2018-06-01 Jozef Lawrynowicz + + * MAINTAINERS (write after

Re: [PATCH] PR target/85358: Add target hook to prevent default widening

2018-06-01 Thread Michael Meissner
I'm wondering if there are other suggestions to make this patch acceptable. As I mentioned previously, the initialization process needs to go through all of the widening tables in order to initialize all FP types, so we can't just arbitrarily eliminate IFmode from the widening table. I could

Re: [PATCH , rs6000] Add builtin tests for vec_madds, vec_extract_fp32_from_shortl and vec_extract_fp32_from_shorth, vec_xst_be

2018-06-01 Thread Segher Boessenkool
Hi! On Tue, May 29, 2018 at 08:54:47AM -0700, Carl Love wrote: > 2018-05-29  Carl Love   > * gcc.target/powerpc/altivec-35.c (foo): Add builtin test vec_madds. > * gcc.target/powerpc/builtins-3-p9.c (main): Add tests for > vec_extract_fp32_from_shortl and

[MAINTAINERS, committed] Update my email address

2018-06-01 Thread Bin.Cheng
Hi, I've updated my email address in MAINTAINERS file. I don't have FSF copyright assignment record for am...@gcc.gnu.org but will sort it out before next commit to GCC. Thanks, bin --- trunk/ChangeLog 2018/06/01 18:46:23 261078 +++ trunk/ChangeLog 2018/06/01 19:53:31 261079 @@ -1,3 +1,7 @@

Re: [PATCH , rs6000] Add missing builtin test cases, fix arguments to match specifications.

2018-06-01 Thread Segher Boessenkool
Hi Carl, On Tue, May 29, 2018 at 08:37:01AM -0700, Carl Love wrote: > * gcc.target/powerpc/builtins-3.c: Add tests > test_sll_vuill_vuill_vuc, Stray tab. > +/* { dg-final { scan-assembler-times "vupklpx" 1 { target le } } } */ > +/* { dg-final { scan-assembler-times "vupklpx" 1 {

Re: [patch] Enhance GIMPLE store-merging pass for bit-fields

2018-06-01 Thread Eric Botcazou
> Just a general remark, the many non-functional but stylistic changes do not > make the patch easier to review ;) Sorry about that (in this case the ChangeLog is supposed to help a little). > + /* If bit insertion is required, we use the source as an > accumulator +into

[PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Segher Boessenkool
This patch changes the (C++) mangling of the 128-bit float types. IBM long double ("double-double") is mangled as "g", as before, and IEEE 128-bit long double is mangled as "u9__ieee128". Bootstrapped and tested on powerpc64-linux {-m32,-m64} (Power7) and on powerpc64le-linux (Power9). Also

[PATCH, rs6000] Clean up implementation of built-in functions

2018-06-01 Thread Kelvin Nilsen
This patch improves maintainability of the rs6000 built-in functions by adding a comment to describe the non-traditional implementation of the __builtin_vec_vsx_ld and __builtin_vec_vsx_st functions, and by removing eight redundant entries from the altivec_overloaded_builtins array. Note, in

Re: [PATCH] Implement Fortran 2018's RANDOM_INIT

2018-06-01 Thread Steve Kargl
On Fri, Jun 01, 2018 at 09:50:06AM +0300, Janne Blomqvist wrote: > On Mon, May 28, 2018 at 8:06 PM, Steve Kargl < > s...@troutmask.apl.washington.edu> wrote: > > > The attached patch implements the RANDOM_INIT intrinsic > > subroutine specified in Fortran 2018. I have had this > > patch in my

Re: C++ PATCH for c++/85977, array reference size deduction failure

2018-06-01 Thread Jason Merrill
On Fri, Jun 1, 2018 at 11:52 AM, Marek Polacek wrote: > On Thu, May 31, 2018 at 10:11:27AM -0400, Jason Merrill wrote: >> On Wed, May 30, 2018 at 5:23 PM, Marek Polacek wrote: >> > We are failing to deduce the template parameter N here >> > >> > template >> > void foo(const long int (&)[N])

Re: C++ PATCH for c++/85977, array reference size deduction failure

2018-06-01 Thread Marek Polacek
On Thu, May 31, 2018 at 10:11:27AM -0400, Jason Merrill wrote: > On Wed, May 30, 2018 at 5:23 PM, Marek Polacek wrote: > > We are failing to deduce the template parameter N here > > > > template > > void foo(const long int (&)[N]) {} > > > > void bar() { > > foo ({1,2,3}); > > } > >

[PATCH][AArch64] Used prefer aliases SXTL(2) and UXTL(2)

2018-06-01 Thread Kyrill Tkachov
Hi all, The SSHL and USHL instructions are used with a shift operand of zero to sign and zero-extend integer vectors into wider modes. GCC makes extensive use of them to "unpack" vectors. AArch64 defines a shorthand alias for that case. Instead of writing: SSHLL ., ., 0 we can write SXTL ., .

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Bill Schmidt
On Jun 1, 2018, at 10:35 AM, Richard Biener wrote: > > On June 1, 2018 5:15:58 PM GMT+02:00, Bill Schmidt > wrote: >> On Jun 1, 2018, at 10:11 AM, Will Schmidt >> wrote: >>> >>> On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: On Thu, May 31, 2018 at 9:59 PM Will Schmidt >>

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Richard Biener
On June 1, 2018 5:15:58 PM GMT+02:00, Bill Schmidt wrote: >On Jun 1, 2018, at 10:11 AM, Will Schmidt >wrote: >> >> On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: >>> On Thu, May 31, 2018 at 9:59 PM Will Schmidt > wrote: Hi, Add support for gimple folding for

Re: [PATCH 09/10] Experiment with using optinfo in gimple-loop-interchange.cc

2018-06-01 Thread Richard Biener
On June 1, 2018 3:40:15 PM GMT+02:00, David Malcolm wrote: >On Fri, 2018-06-01 at 11:50 +0200, Richard Biener wrote: >> On Tue, May 29, 2018 at 10:33 PM David Malcolm >> wrote: >> > >> > This was an experiment to try to capture information on a >> > loop optimization. >> > >> > gcc/ChangeLog:

[gomp5] Use error_at rather than error for OpenMP clause checking

2018-06-01 Thread Jakub Jelinek
Hi! I've noticed a lot of spots where we weren't using exact location, even when we have OMP_CLAUSE_LOCATION we can use. Fixed thusly, committed to gomp-5_0-branch. 2018-06-01 Jakub Jelinek * c-typeck.c (c_finish_omp_clauses): Use error_at with OMP_CLAUSE_LOCATION (c) as

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Bill Schmidt
On Jun 1, 2018, at 10:11 AM, Will Schmidt wrote: > > On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: >> On Thu, May 31, 2018 at 9:59 PM Will Schmidt >> wrote: >>> >>> Hi, >>> Add support for gimple folding for unaligned vector loads and stores. >>> testcases posted separately in

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Will Schmidt
On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: > On Thu, May 31, 2018 at 9:59 PM Will Schmidt > wrote: > > > > Hi, > > Add support for gimple folding for unaligned vector loads and stores. > > testcases posted separately in this thread. > > > > Regtest completed across variety of

[MAINTAINERS, committed] Update email address

2018-06-01 Thread tdevries
Hi, I've updated my email address in the MAINTAINERS file. Thanks, - Tom [MAINTAINERS] Update email address 2018-06-01 Tom de Vries * MAINTAINERS: Update my email address. --- MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS

Re: [PATCH] Improve bootstrap times

2018-06-01 Thread Jakub Jelinek
On Fri, Jun 01, 2018 at 03:43:38PM +0200, Thomas Schwinge wrote: > > +STAGE1_TFLAGS += -fno-checking > > +STAGE2_CFLAGS += -fno-checking > > +STAGE2_TFLAGS += -fno-checking > > +STAGE3_CFLAGS += -fchecking > > +STAGE3_TFLAGS += -fchecking > > This however means that when a user configured with

Re: [PATCH] Improve bootstrap times

2018-06-01 Thread Thomas Schwinge
Hi! On Thu, 26 Apr 2018 10:08:09 +0200 (CEST), Richard Biener wrote: > --- Makefile.tpl (revision 259638) > +++ Makefile.tpl (working copy) > @@ -452,11 +452,21 @@ STAGE1_CONFIGURE_FLAGS = --disable-inter > --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \ >

Re: [PATCH] Use --push-state --as-needed and --pop-state instead of --as-needed and --no-as-needed for libgcc

2018-06-01 Thread Thomas Schwinge
Hi! On Wed, 11 Apr 2018 20:55:49 +0200, Jakub Jelinek wrote: > On Wed, Apr 11, 2018 at 06:07:17PM +0200, Matthias Klose wrote: > > On 11.04.2018 12:31, Jakub Jelinek wrote: > > > As discussed, using --as-needed and --no-as-needed is dangerous, because > > > it results in --no-as-needed even for

Re: [PATCH 09/10] Experiment with using optinfo in gimple-loop-interchange.cc

2018-06-01 Thread David Malcolm
On Fri, 2018-06-01 at 11:50 +0200, Richard Biener wrote: > On Tue, May 29, 2018 at 10:33 PM David Malcolm > wrote: > > > > This was an experiment to try to capture information on a > > loop optimization. > > > > gcc/ChangeLog: > > * gimple-loop-interchange.cc (should_interchange_loops):

Re: [RFC][PR82479] missing popcount builtin detection

2018-06-01 Thread Richard Biener
On Fri, Jun 1, 2018 at 12:06 PM Bin.Cheng wrote: > > On Fri, Jun 1, 2018 at 9:56 AM, Kugan Vivekanandarajah > wrote: > > Hi Bin, > > > > Thanks a lo for the review. > > > > On 1 June 2018 at 03:45, Bin.Cheng wrote: > >> On Thu, May 31, 2018 at 3:51 AM, Kugan Vivekanandarajah > >> wrote: > >>>

Re: [patch] Enhance GIMPLE store-merging pass for bit-fields

2018-06-01 Thread Alexander Monakov
On Fri, 1 Jun 2018, Richard Biener wrote: > For code-generating adjacent inserts wouldn't it be more efficient > to do > > accum = first-to-be-inserted-val; > accum <<= shift-to-next-inserted-val; > accum |= next-to-be-inserted-val; > ... > accum <<= final-shift; > > instead of shifting

Ping: Extend tree code folds to IFN_COND_*

2018-06-01 Thread Richard Sandiford
Ping for the below, which is the only unreviewed IFN_COND_* patch. Thanks for the reviews of the others. Richard Sandiford writes: > This patch adds match.pd support for applying normal folds to their > IFN_COND_* forms. E.g. the rule: > > (plus @0 (negate @1)) -> (minus @0 @1) > > also

Re: Fix phi backedge detection in backprop (PR85989)

2018-06-01 Thread Richard Biener
On Fri, Jun 1, 2018 at 2:38 PM Richard Sandiford wrote: > > This PR is a nasty wrong code bug due to my fluffing a test for a > backedge in gimple-ssa-backprop.c. Backedges are supposed to be > from definitions in the statement we're visiting to uses in statements > that we haven't visited yet.

Fix phi backedge detection in backprop (PR85989)

2018-06-01 Thread Richard Sandiford
This PR is a nasty wrong code bug due to my fluffing a test for a backedge in gimple-ssa-backprop.c. Backedges are supposed to be from definitions in the statement we're visiting to uses in statements that we haven't visited yet. However, the check failed to account for PHIs in the current block

Re: [PATCH] DWARF5: Don't generate DW_AT_loclists_base for split compile unit DIEs.

2018-06-01 Thread Mark Wielaard
On Sat, 2018-05-26 at 21:31 +0200, Mark Wielaard wrote: > The loclists_base attribute is used to point to the beginning of the > loclists index of a DWARF5 loclists table when using DW_FORM_loclistsx. > For split compile units the base is not given by the attribute, but is > either the first (and

Re: [RFC][PR64946] "abs" vectorization fails for char/short types

2018-06-01 Thread Richard Biener
On Fri, Jun 1, 2018 at 4:12 AM Kugan Vivekanandarajah wrote: > > Hi Richard, > > This is the revised patch based on the review and the discussion in > https://gcc.gnu.org/ml/gcc/2018-05/msg00179.html. > > In summary: > - I skipped (element_precision (type) < element_precision (TREE_TYPE > (@0)))

[PATCH] MIPS: Add support for P6600

2018-06-01 Thread Robert Suchanek
Hi, The below adds support for -march=p6600. It includes a new scheduler plus performance tweaks. gcc/ChangeLog: 2018-06-01 Matthew Fortune Prachi Godbole * config/mips/mips-cpus.def: Define P6600. * config/mips/mips-tables.opt: Regenerate. *

[PATCH] MIPS: Update I6400 scheduler

2018-06-01 Thread Robert Suchanek
Hi, Update to i6400 scheduler. Regards, Robert gcc/ChangeLog: 2018-06-01 Prachi Godbole * config/mips/i6400.md (i6400_gpmuldiv): Remove cpu_unit. (i6400_gpmul): Add cpu_unit. (i6400_gpdiv): Likewise. (i6400_msa_add_d): Update reservations.

[PATCH] MIPS: Add i6500 processor as an alias for i6400

2018-06-01 Thread Robert Suchanek
Hi, This patch adds i6500 CPU as an alias for i6400. Regards, Robert gcc/ChangeLog: 2018-06-01 Matthew Fortune * config/mips/mips-cpus.def: New MIPS_CPU for i6500. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Mark i6500 as

[PATCH] MIPS: Add support for -mcrc and -mginv options

2018-06-01 Thread Robert Suchanek
Hi, This patch adds -mcrc and -mginv options to pass through them to the assembler. Regards, Robert gcc/ChangeLog: 2018-06-01 Matthew Fortune * config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc, -mginv and -mno-ginv to the assembler. * config/mips/mips.opt

[PATCH] Do not modify DR_STMT in vectorizer pattern recog

2018-06-01 Thread Richard Biener
Modifying DR_STMT stands in the way of re-using dataref and dependence analysis between vector size analyses. Thus this introduces vect_dr_stmt which wraps DR_STMT and returns the pattern stmt if appropriate. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-06-01

Re: [patch] Enhance GIMPLE store-merging pass for bit-fields

2018-06-01 Thread Richard Biener
On Thu, May 31, 2018 at 3:25 PM Eric Botcazou wrote: > > Hi, > > this enhances the GIMPLE store-merging pass by teaching it to deal with > generic stores to bit-fields, i.e. not just stores of immediates. The > motivating example is: > > struct S { > unsigned int flag : 1; > unsigned int

[PATCH] Fix PR86017

2018-06-01 Thread Richard Biener
The following fixes the testcase in PR86017 where failure to inline-expand single-byte memsets on GIMPLE causes us to miss store-merging opportunities. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-06-01 Richard Biener PR middle-end/86017 *

Re: Use conditional internal functions in if-conversion

2018-06-01 Thread Richard Biener
On Fri, May 25, 2018 at 3:06 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, May 25, 2018 at 1:49 PM Richard Sandiford < > > richard.sandif...@linaro.org> wrote: > > > >> Richard Biener writes: > >> > On Fri, May 25, 2018 at 12:12 PM Richard Sandiford < > >> >

[gomp5] Same variable can't appear in multiple nontemporal clauses

2018-06-01 Thread Jakub Jelinek
Hi! Just a simple restriction, committed to gomp-5_0-branch. 2018-06-01 Jakub Jelinek * c-typeck.c (c_finish_omp_clauses): Diagnose more than one nontemporal clause refering to the same variable. * semantics.c (finish_omp_clauses): Diagnose more than one

Re: [RFC][PR82479] missing popcount builtin detection

2018-06-01 Thread Bin.Cheng
On Fri, Jun 1, 2018 at 9:56 AM, Kugan Vivekanandarajah wrote: > Hi Bin, > > Thanks a lo for the review. > > On 1 June 2018 at 03:45, Bin.Cheng wrote: >> On Thu, May 31, 2018 at 3:51 AM, Kugan Vivekanandarajah >> wrote: >>> Hi Bin, >>> >>> Thanks for the review. Please find the revised patch

Re: [PATCH 01/10] Convert dump and optgroup flags to enums

2018-06-01 Thread Richard Biener
On Tue, May 29, 2018 at 10:32 PM David Malcolm wrote: > > The dump machinery uses "int" in a few places, for two different > sets of bitmasks. > > This patch makes things more self-documenting and type-safe by using > a new pair of enums: one for the dump_flags_t and another for the >

Re: [RFC][PR82479] missing popcount builtin detection

2018-06-01 Thread Kugan Vivekanandarajah
Hi Bin, Thanks a lo for the review. On 1 June 2018 at 03:45, Bin.Cheng wrote: > On Thu, May 31, 2018 at 3:51 AM, Kugan Vivekanandarajah > wrote: >> Hi Bin, >> >> Thanks for the review. Please find the revised patch based on the >> review comments. >> >> Thanks, >> Kugan >> >> On 17 May 2018 at

Re: [RFC] [aarch64] Add HiSilicon tsv110 CPU support

2018-06-01 Thread Zhangshaokun
Hi Ramana, Sorry to reply so later because of short leave. On 2018/5/23 18:41, Ramana Radhakrishnan wrote: > > > On 23/05/2018 03:50, Zhangshaokun wrote: >> Hi Ramana, >> >> On 2018/5/22 18:28, Ramana Radhakrishnan wrote: >>> On Tue, May 22, 2018 at 9:40 AM, Shaokun Zhang >>> wrote:

Re: [PATCH 09/10] Experiment with using optinfo in gimple-loop-interchange.cc

2018-06-01 Thread Richard Biener
On Tue, May 29, 2018 at 10:33 PM David Malcolm wrote: > > This was an experiment to try to capture information on a > loop optimization. > > gcc/ChangeLog: > * gimple-loop-interchange.cc (should_interchange_loops): Add > optinfo note when interchange gives better data locality

Re: fwprop addressing costs

2018-06-01 Thread Richard Biener
On Fri, Jun 1, 2018 at 8:59 AM Robin Dapp wrote: > > Hi, > > when investigating a regression, I realized that we create a superfluous > load on S390. The snippet looks something like > > LA %r10, 0(%r8,%r9) > LLH %r4, 0(%r10) > > meaning the address in r10 is computed by an LA even though LLH

[c-family] Plug small loophole in the C/C++ binding for Ada

2018-06-01 Thread Eric Botcazou
This plugs a small loophole in the improved handling of forward declarations in the C/C++ binding for Ada, whereby a forward declaration for a type is not generated if the typedef declaration making it necessary uses the same name as the tag of the type. Tested on x86-64/Linux, applied on the

fwprop addressing costs

2018-06-01 Thread Robin Dapp
Hi, when investigating a regression, I realized that we create a superfluous load on S390. The snippet looks something like LA %r10, 0(%r8,%r9) LLH %r4, 0(%r10) meaning the address in r10 is computed by an LA even though LLH supports the addressing already. The same address is used multiple

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Richard Biener
On Thu, May 31, 2018 at 9:59 PM Will Schmidt wrote: > > Hi, > Add support for gimple folding for unaligned vector loads and stores. > testcases posted separately in this thread. > > Regtest completed across variety of systems, P6,P7,P8,P9. > > OK for trunk? > Thanks, > -Will > > [gcc] > >

Re: [PATCH] PR fortran/85981 -- Check kind of errmsg variable.

2018-06-01 Thread Janne Blomqvist
On Wed, May 30, 2018 at 2:24 AM, Steve Kargl < s...@troutmask.apl.washington.edu> wrote: > The new comment in the patch explains the patch. This was > developed and tested on 8-branch, but will be applied to > trunk prior to committing to branches. Built and regression > tested on

Re: [PATCH] Implement Fortran 2018's RANDOM_INIT

2018-06-01 Thread Janne Blomqvist
On Mon, May 28, 2018 at 8:06 PM, Steve Kargl < s...@troutmask.apl.washington.edu> wrote: > The attached patch implements the RANDOM_INIT intrinsic > subroutine specified in Fortran 2018. I have had this > patch in my local tree for the last 5+ months. Now that > 8.1 is out, it is time to submit