Unreviewed^2 patch

2016-06-13 Thread Rainer Orth
The following patch has remained unreviewed for two weeks: [build] Handle gas/gld --compress-debug-sections=type https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02325.html It requires a build maintainer unless one wants to consider it obvious. Rainer -- --

Re: [BUILDROBOT] MPS430 build problem due to new enum

2016-06-13 Thread Martin Liška
On 06/12/2016 01:55 PM, Jan-Benedict Glaw wrote: > The new `NONE' from your enum clashes with a NONE used in a MSP430 > private enum. > > MfG, JBG Hi. Thanks for having heads up, I've been testing following patch. The patch survives with --target=msp430-elf. Ready after it finishes? Thanks, Mar

Re: [regex, libstdc++/71500, patch] Fix icase on bracket expression

2016-06-13 Thread Jonathan Wakely
On 11/06/16 11:46 -0700, Tim Shen wrote: On Sat, Jun 11, 2016 at 5:01 AM, Jonathan Wakely wrote: N.B. The "typename" and "::type" are redundant here, because it names the same type as the integral_constant itself, and you could use __bool_constant<__collate> instead: return _M_transform

[Ada] Improve alignment computation for allocators

2016-06-13 Thread Eric Botcazou
Allocators return pointer to void internally so the derived alignment is the minimal one for known_alignment, although we know that it's always larger. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-13 Eric Botcazou * gcc-interface/utils2.c (known_alignment) : Deal sp

Re: [PATCH][ARM] Fix gcc.target/arm/builtin-bswap16-1.c

2016-06-13 Thread Christophe Lyon
On 10 June 2016 at 11:28, Kyrill Tkachov wrote: > Ping. > https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00249.html > I tested this patch in my usual matrix, and it's OK for me. Christophe > Thanks, > Kyrill > > > On 03/06/16 09:30, Kyrill Tkachov wrote: >> >> Hi all, >> >> The test gcc.target/a

Re: [Patch, fotran] PR70673 - [5/6/7 Regression] ICE with module containing functions with allocatable character scalars

2016-06-13 Thread Paul Richard Thomas
Dear All, Committed to trunk as revision 237358. 5- and 6- branches to follow towards the end of the week. Cheers Paul On 12 June 2016 at 17:21, Thomas Koenig wrote: > Hi Paul, > >> The fix to eliminate this ICE is trivial. > > > Trivial once you have found it, not so trivial before... > >> B

Re: [patch] generate_libstdcxx_web_docs: Use realpath to get absolute path

2016-06-13 Thread Jonathan Wakely
On 12/06/16 12:53 +0200, Gerald Pfeifer wrote: Hi Jonathan, On Thu, 28 Apr 2016, Jonathan Wakely wrote: When I ran maintainer-scripts/generate_libstdcxx_web_docs to make the onlinedocs/libstdc++ for 6.1 the other day it failed because I use a relative path for the output dir argument. This woul

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-13 Thread Richard Biener
On Fri, 10 Jun 2016, Uros Bizjak wrote: > Hello! > > Attached patch implements __builtin_nanq and __builtin_nansq > __float128 functions. > > 2016-06-10 Uros Bizjak > > PR target/71241 > * config/i386/i386.i386-builtin-types.def (CONST_STRING): > New primitive type. > (FLOAT1

[Ada] Fix ICE on renaming of 'Pred or 'Succ attribute

2016-06-13 Thread Eric Botcazou
This is a regression present on the mainline and 6 branch: the compiler stops on the renaming of the 'Pred or 'Succ attribute of a fixed-point type. Tested on x86_64-suse-linux, applied on the mainline and 6 branch. 2016-06-13 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity

Re: [patch, avr] Fix PR67353

2016-06-13 Thread Pitchumani Sivanupandi
On Fri, 2016-06-10 at 20:08 +0200, Georg-Johann Lay wrote: > Pitchumani Sivanupandi schrieb: > > > > Hi, > > > > This patch introduces new flags for warning 'misspelled interrupt/ > > signal handler'. Flag -Wmisspelled-isr is enabled by default and it > > will warn user if the interrupt/ signal h

Re: [PATCH] fold-const: Don't access bit fields with too big mode (PR71310)

2016-06-13 Thread Richard Biener
On Fri, 10 Jun 2016, Segher Boessenkool wrote: > Currently, optimize_bit_field_compare reads the bitfield in word_mode > if it can. If the bit field is normally accessed in a smaller mode, > this might be a violation of the memory model, although the "extra" > part of the read is not used. But a

[Ada] Fix annoying oversight in elaboration of subprograms

2016-06-13 Thread Eric Botcazou
This fixes an annoying oversight introduced in the new elaboration model for subprograms in gigi: calls might be generated while the type of parameters is still incomplete, which leads to truncation to the low part for access types on 64-bit targets... Tested on x86_64-suse-linux, applied on the

[Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
Committed to GCC 5 and mainline branches. gcc/ChangeLog: 2016-06-13 Andreas Krebbel PR target/71379 * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by one. --- gcc/config/s390/s390.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: > Committed to GCC 5 and mainline branches. What about gcc-6-branch? It also has MAX_ARGS 5, and case for arity 6. > gcc/ChangeLog: > > 2016-06-13 Andreas Krebbel > > PR target/71379 > * config/s390/s390.c (s390_ex

Re: [BUILDROBOT] MPS430 build problem due to new enum (was: [PATCH 2/2] Add edge predictions pruning)

2016-06-13 Thread Jan Hubicka
> Hi Martin, > > On Thu, 2016-06-09 13:24:10 +0200, Martin Liška wrote: > > On 06/08/2016 02:41 PM, Jan Hubicka wrote: > > > Adding hash for this prupose is bit of an overkill (there are > > > definitly cheaper ways of solving so), but it will hardly affect compile > > > time, so the pathc is OK.

Re: [PATCH] Allow fwprop to undo vectorization harm (PR68961)

2016-06-13 Thread Richard Biener
On Fri, 10 Jun 2016, Richard Biener wrote: > > With the proposed cost change for vector construction we will end up > vectorizing the testcase in PR68961 again (on x86_64 and likely > on ppc64le as well after that target gets adjustments). Currently > we can't optimize that away again noticing t

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-13 Thread Uros Bizjak
On Mon, Jun 13, 2016 at 10:01 AM, Richard Biener wrote: > On Fri, 10 Jun 2016, Uros Bizjak wrote: > >> Hello! >> >> Attached patch implements __builtin_nanq and __builtin_nansq >> __float128 functions. >> >> 2016-06-10 Uros Bizjak >> >> PR target/71241 >> * config/i386/i386.i386-builtin

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 10:43 AM, Jakub Jelinek wrote: > On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: >> Committed to GCC 5 and mainline branches. > > What about gcc-6-branch? It also has MAX_ARGS 5, and case for arity 6. Done. -Andreas-

Re: [PATCH, AARCH64] add qdf24xx tuning structure

2016-06-13 Thread James Greenhalgh
On Fri, Jun 10, 2016 at 03:48:38PM -0700, Jim Wilson wrote: > This adds a tuning structure for qdf24xx. This was tested with an > aarch64-linux bootstrap and a make check, with no regressions. I also > tested it with an x86_64-linux C make check to verify that I didn't > break the testsuite for n

Re: move increase_alignment from simple to regular ipa pass

2016-06-13 Thread Prathamesh Kulkarni
On 10 June 2016 at 16:47, Richard Biener wrote: > On Fri, 10 Jun 2016, Prathamesh Kulkarni wrote: > >> On 10 June 2016 at 01:53, Jan Hubicka wrote: >> >> On 8 June 2016 at 20:38, Jan Hubicka wrote: >> >> >> I think it would be nice to work towards transitioning >> >> >> flag_section_anchors to a

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 10:51:16AM +0200, Andreas Krebbel wrote: > On 06/13/2016 10:43 AM, Jakub Jelinek wrote: > > On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: > >> Committed to GCC 5 and mainline branches. > > > > What about gcc-6-branch? It also has MAX_ARGS 5, and case for

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Richard Biener
On Sat, Jun 11, 2016 at 9:30 PM, Jakub Jelinek wrote: > On Sat, Jun 11, 2016 at 08:43:06PM +0200, Richard Biener wrote: >> On June 10, 2016 9:48:45 PM GMT+02:00, Jason Merrill >> wrote: >> >While working on another issue I noticed that is_gimple_reg was happily >> > >> >accepting VAR_DECLs with

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 11:03:54AM +0200, Richard Biener wrote: > > I'm afraid that would break OpenMP badly. > > During gimplification, outside of OpenMP contexts we always replace decls > > for their DECL_VALUE_EXPR, but inside of OpenMP contexts we do it only for > > some decls. In particular,

[PATCH]: Restore bootstrap with gcc < 4.3

2016-06-13 Thread Uros Bizjak
Hello! The new test finalization self tests fail wigh gcc < 4.3 due to the way need_finalization_p is defined: template static inline bool need_finalization_p () { #if GCC_VERSION >= 4003 return !__has_trivial_destructor (T); #else return true; #endif } It is obvious that checking for AS

[PATCH] Fix PR71505

2016-06-13 Thread Richard Biener
Committed as obvious to trunk and branches. Richard. 2016-06-13 Richard Biener PR tree-optimization/71505 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make assert match comment. Index: gcc/tree-vect-data-refs.c ===

[PATCH Obvious]Check gimple seq before inserting it.

2016-06-13 Thread Bin Cheng
Hi, This is an obvious change which checks if gimple seq is empty before inserting it. I built spec2k6 and found the gimple seq in most (if not all) cases is empty, we can save a function call here. Build on x86_64. Thanks, bin 2016-05-17 Bin Cheng * tree-vect-loop.c (vect_create_e

Re: [PATCH]: Restore bootstrap with gcc < 4.3

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:23 AM, Uros Bizjak wrote: > Hello! > > The new test finalization self tests fail wigh gcc < 4.3 due to the > way need_finalization_p is defined: > > template > static inline bool > need_finalization_p () > { > #if GCC_VERSION >= 4003 > return !__has_trivial_destructor

[PATCH PR71347][Partial revert r235513]Compute cost for all uses in group

2016-06-13 Thread Bin Cheng
Hi, This patch partially reverts part of r235513 to fix PR71347, the original patch is to improve compilation time for a small amount. Root cause as analyzed in bugzilla PR is that we can't skip computing cost for sub iv_use if it has different position to the first use in group. The patch als

[PATCH PR71354]Require vect_cond in test gcc.dg/vect/vect-23.c

2016-06-13 Thread Bin Cheng
Hi, This is a simple patch adding vect_cond requirement to case gcc.dg/vect/vect-23.c. Checked test behavior on sparc64. Is it OK? Thanks, bin gcc/testsuite/ChangeLog 2016-05-31 Bin Cheng PR tree-optimization/71354 * gcc.dg/vect/vect-23.c: Add VECT_COND requirement.diff --g

Re: [BUILDROBOT] MPS430 build problem due to new enum

2016-06-13 Thread Martin Liška
On 06/13/2016 10:46 AM, Jan Hubicka wrote: > Hmm, namespace conflict. I guess renaming enum items to REASON_* should > solve it easily. > Or we can add a namespace. > > Martin, both variants of fix are pre-approved. > Honza OK, I've just installed (r237370) a patch that prefixes all enum values

[PATCH GCC]Resolve compilation time known alias checks in vectorizer

2016-06-13 Thread Bin Cheng
Hi, GCC vectorizer generates many unnecessary runtime alias checks known at compilation time. For some data-reference pairs, alias relation can be resolved at compilation time, in this case, we can simply skip the alias check. For some other data-reference pairs, alias relation can be realized

Re: [PATCH 1/3][AArch64] Add more choices for the reciprocal square root approximation

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:00PM -0500, Evandro Menezes wrote: > From 763562f829d4fec54d21555b2bfd6478d449294f Mon Sep 17 00:00:00 2001 > From: Evandro Menezes > Date: Thu, 3 Mar 2016 18:13:46 -0600 > Subject: [PATCH 1/3] [AArch64] Add more choices for the reciprocal square root > approximation

Re: [PATCH, AARCH64] add qdf24xx tuning structure

2016-06-13 Thread Kyrill Tkachov
Hi Jim, On 10/06/16 23:48, Jim Wilson wrote: This adds a tuning structure for qdf24xx. This was tested with an aarch64-linux bootstrap and a make check, with no regressions. I also tested it with an x86_64-linux C make check to verify that I didn't break the testsuite for non aarch64 targets.

[PATCH GCC]Improve alias check code generation in vectorizer

2016-06-13 Thread Bin Cheng
Hi, Take subroutine "DACOP" from spec2k/200.sixtrack as an example, the loop needs to be versioned for vectorization because of possibly alias. The alias check for data-references are like: //pair 1 dr_a: (Data Ref: bb: 8 stmt: _92 = da.cc[_27]; ref: da.cc[_27]; ) dr_b: (Data Ref: bb

Re: [PATCH PR71347][Partial revert r235513]Compute cost for all uses in group

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:57 AM, Bin Cheng wrote: > Hi, > This patch partially reverts part of r235513 to fix PR71347, the original > patch is to improve compilation time for a small amount. Root cause as > analyzed in bugzilla PR is that we can't skip computing cost for sub iv_use > if it ha

Re: [PATCH PR71354]Require vect_cond in test gcc.dg/vect/vect-23.c

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:58 AM, Bin Cheng wrote: > Hi, > This is a simple patch adding vect_cond requirement to case > gcc.dg/vect/vect-23.c. > > Checked test behavior on sparc64. Is it OK? Ok. Richard. > Thanks, > bin > gcc/testsuite/ChangeLog > 2016-05-31 Bin Cheng > > PR tree-o

Re: [PATCH 2/3][AArch64] Emit square root using the Newton series

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:16PM -0500, Evandro Menezes wrote: > >>+return false; > >>- emit_insn ((*get_rsqrte_type (mode)) (x0, xsrc)); > >>+ rtx xmsk = gen_reg_rtx (mmsk); > >>+ if (!recp) > >>+/* When calculating the approximate square root, compare the argument > >>with > >>+

[arm-embedded][committed] patch for PR61578

2016-06-13 Thread Andre Vieira (lists)
Hi Backported the following two patches to embedded-5-branch: https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00096.html https://gcc.gnu.org/ml/gcc-patches/2015-09/msg02028.html Committed as revisions r237369 and r237371. gcc/ChangeLog.arm: 2016-06-13 Andre Vieira Backport from Mainline

Re: [PATCH GCC]Resolve compilation time known alias checks in vectorizer

2016-06-13 Thread Bin Cheng
And Below is the ChangeLog entry for test cases gcc/testsuite/ChangeLog 2016-06-07 Bin Cheng * gcc.dg/vect/vect-35-big-array.c: Refine comment and test. * gcc.dg/vect/vect-35.c: Ditto. BTW, this patch also makes gcc.dg/vect/vect-mask-store-move-1.c fail, but I think it just e

Re: [PATCH 3/3][AArch64] Emit division using the Newton series

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:24PM -0500, Evandro Menezes wrote: > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 73a3fb8..4d7bcb7 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -577,6 +577,7 @@ Objective-C and Objective-C++ Dialects}. > -mfix-cortex-a53-843419

Re: Move optimize_minmax_comparison to match.pd

2016-06-13 Thread Richard Biener
On Sun, Jun 12, 2016 at 10:30 AM, Marc Glisse wrote: > Hello, > > this move is pretty straightforward. The transformation would probably work > just fine for any type (floats, vectors), but I didn't want the headache of > checking the behavior for NaN. > > Bootstrap+regtest on powerpc64le-unknown-

Re: Container debug light mode

2016-06-13 Thread Jonathan Wakely
On 08/06/16 22:53 +0200, François Dumont wrote: Hi Here is the patch I already proposed to introduce the debug light mode for vector and deque containers. It also simplify some internal calls. This looks great, and I'd like to see it on trunk, but could you split it into two patches p

Re: Vectorize 2*x as x+x if needed

2016-06-13 Thread Richard Biener
On Sun, Jun 12, 2016 at 11:19 AM, Marc Glisse wrote: > Hello, > > canonicalizing x+x to x*2 made us regress some vectorization tests on sparc. > As suggested by Richard, this lets the vectorizer handle x*2 as x+x if that > helps. Let me copy a few remarks I had in the PR: > > « We could probably a

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 11:01 AM, Jakub Jelinek wrote: > Also, it isn't clear to me, are there any s390 builtins right now that > actually have 6 arguments (my reading is that you don't count the return > value into that)? I.e. beyond the bootstrap issues, is the change actually > fixing expansion of any bu

Re: move increase_alignment from simple to regular ipa pass

2016-06-13 Thread Jan Hubicka
> diff --git a/gcc/cgraph.h b/gcc/cgraph.h > index ecafe63..41ac408 100644 > --- a/gcc/cgraph.h > +++ b/gcc/cgraph.h > @@ -1874,6 +1874,9 @@ public: > if we did not do any inter-procedural code movement. */ >unsigned used_by_single_function : 1; > > + /* Set if -fsection-anchors is se

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 12:35:32PM +0200, Andreas Krebbel wrote: > On 06/13/2016 11:01 AM, Jakub Jelinek wrote: > > Also, it isn't clear to me, are there any s390 builtins right now that > > actually have 6 arguments (my reading is that you don't count the return > > value into that)? I.e. beyond

[PATCH] PR 71416 - allow more than one use of a live operation

2016-06-13 Thread Alan Hayward
vectorizable_live_operation checks that there is exactly one use of each operation that has been marked live. However, it is possible for the operation is used more than once if the usage PHIs are identical. For example in 71416-1.c, _6 is used twice after the loop in bb 9. : # e.6_21 = PHI

Re: [PATCH] PR 71416 - allow more than one use of a live operation

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 1:00 PM, Alan Hayward wrote: > vectorizable_live_operation checks that there is exactly one use of each > operation that has been marked live. > > However, it is possible for the operation is used more than once if the > usage PHIs are identical. > > For example in 71416-1.

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-13 Thread Joseph Myers
On Mon, 13 Jun 2016, Richard Biener wrote: > Hmm, as we already have BUILT_IN_NAN[S] why not add NAN128 and NANS128 > variants in the middle-end as we already have NAND128 (for decimal float > 128)? The middle-end does not know anything about the target-specific __float128 type. Now, I'm looki

Re: Vectorize 2*x as x+x if needed

2016-06-13 Thread Marc Glisse
On Mon, 13 Jun 2016, Richard Biener wrote: On Sun, Jun 12, 2016 at 11:19 AM, Marc Glisse wrote: Hello, canonicalizing x+x to x*2 made us regress some vectorization tests on sparc. As suggested by Richard, this lets the vectorizer handle x*2 as x+x if that helps. Let me copy a few remarks I ha

[PATCH][C] Avoid reading from FUNCTION_DECL with atomics

2016-06-13 Thread Richard Biener
The following avoids creating IL that accesses a FUNCTION_DECLs memory directly rather than indirectly through an address based on it. Bootstrap and regtest running on x86_64-unknown-linux-gnu, ok for trunk? Thanks, Richard. 2016-06-13 Richard Biener PR c/71514 c-family/

[Committed] S/390: vecintrin.h fix file description in comment

2016-06-13 Thread Andreas Krebbel
gcc/ChangeLog: 2016-06-13 Andreas Krebbel * config/s390/vecintrin.h: Fix file description in comment. --- gcc/ChangeLog | 4 gcc/config/s390/vecintrin.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e14decf

[Committed] S/390: Change builtin type naming scheme to match builtin-types.def.

2016-06-13 Thread Andreas Krebbel
gcc/ChangeLog: 2016-06-13 Andreas Krebbel * config/s390/s390-builtin-types.def: Change builtin type naming scheme to match builtin-types.def. --- gcc/ChangeLog | 5 + gcc/config/s390/s390-builtin-types.def | 420 - 2 f

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 12:49 PM, Jakub Jelinek wrote: ... >> Yes. It is inconsistent to builtin-types.def. Not sure if it is worth fixing >> it. > > I think it wouldn't hurt, it would improve code readability. > And it affects just the single source file. Done. https://gcc.gnu.org/ml/gcc-patches/2016-06/

[PATCH] Fix PR71521

2016-06-13 Thread Richard Biener
Bootstrap and regtest running on x86_64-unknown-linux-gnu. Richard. 2016-06-13 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New test

[PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
Hi all, This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that is a linked list of steps describing how to synthesize an integer multiplic

[PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Kyrill Tkachov
Hi all, There are other places besides expand where we might want to synthesize an integer multiplication by a constant. Thankfully the algorithm selection code in expmed.c is already quite well separated from the RTL implementation, so if we can just factor out the prototype of choose_mult_v

Re: [PATCH] Add ggc-tests.c

2016-06-13 Thread Ulrich Weigand
Gerald Pfeifer wrote: > The source code of need_finalization_p in ggc.h reads > >template >static inline bool >need_finalization_p () >{ >#if GCC_VERSION >= 4003 > return !__has_trivial_destructor (T); >#else > return true; >#endif >} > > which means you

Re: [PATCH][C] Avoid reading from FUNCTION_DECL with atomics

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 01:25:35PM +0200, Richard Biener wrote: > The following avoids creating IL that accesses a FUNCTION_DECLs memory > directly rather than indirectly through an address based on it. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu, ok for trunk? I think the probl

Re: [PATCH] Allow fwprop to undo vectorization harm (PR68961)

2016-06-13 Thread Richard Biener
On Mon, 13 Jun 2016, Richard Biener wrote: > On Fri, 10 Jun 2016, Richard Biener wrote: > > > > > With the proposed cost change for vector construction we will end up > > vectorizing the testcase in PR68961 again (on x86_64 and likely > > on ppc64le as well after that target gets adjustments).

[PATCH] Fix code emission for FAIL_ALLOC predictor

2016-06-13 Thread Martin Liška
Hello. Following patch fixes Fortran FAIL_ALLOC predictor in a way that it introduces a new one (PRED_FORTRAN_REALLOC) and it properly marks returned values as described in the following 2 examples: A) allocate_allocatable original annotation: if ((logical(kind=4)) __builtin_expect ((integ

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Marc Glisse
On Mon, 13 Jun 2016, Kyrill Tkachov wrote: This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that is a linked list of steps describing ho

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Jason Merrill
On Mon, Jun 13, 2016 at 5:03 AM, Richard Biener wrote: > On Sat, Jun 11, 2016 at 9:30 PM, Jakub Jelinek wrote: >> On Sat, Jun 11, 2016 at 08:43:06PM +0200, Richard Biener wrote: >>> On June 10, 2016 9:48:45 PM GMT+02:00, Jason Merrill >>> wrote: >>> >While working on another issue I noticed tha

Re: [PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 2:23 PM, Kyrill Tkachov wrote: > Hi all, > > There are other places besides expand where we might want to synthesize an > integer > multiplication by a constant. Thankfully the algorithm selection code in > expmed.c > is already quite well separated from the RTL implementa

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
On 13/06/16 14:58, Marc Glisse wrote: On Mon, 13 Jun 2016, Kyrill Tkachov wrote: This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that is

Re: [PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Kyrill Tkachov
Hi Richard, On 13/06/16 15:07, Richard Biener wrote: On Mon, Jun 13, 2016 at 2:23 PM, Kyrill Tkachov wrote: Hi all, There are other places besides expand where we might want to synthesize an integer multiplication by a constant. Thankfully the algorithm selection code in expmed.c is already

Re: [Patch AArch64] Fixup to fcvt patterns added in r237200

2016-06-13 Thread Kyrill Tkachov
On 10/06/16 13:29, James Greenhalgh wrote: Hi, My autotester picked up some issues with the vcvt{ds}_n_* intrinsics added in r237200. The iterators in this pattern do not resolve, as they have not been explicitly tied to the mode iterator (rather than the code iterator) used by the pattern. T

[PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Bernd Edlinger
Hi, as noted in PR bootstrap/71481, comment#4 currently the trunk fails to bootstrap if the current language is not english. A workaround is possible by setting LANG=C, but OTOH it is rather easy to fix, by translating the string in the assertion, as it is the only place that is affected by the l

[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge wrote: > Here are the OpenACC bits of . In the PR, Jakub clarified that all the missing other OMP_CLAUSE_* are in fact all unreachable here. OK to document this as follows, in trunk? The "anything else" defaul

[PATCH, i386]: Use ix86_expand_setcc some more

2016-06-13 Thread Uros Bizjak
No functional changes. 2016-06-13 Uros Bizjak * config/i386/i386.md (paritydi2): Use ix86_expand_setcc. (paritysi2): Ditto. (isinfxf2): Ditto. (isinf2): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros. Index: config/i386

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 04:43:25PM +0200, Thomas Schwinge wrote: > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > wrote: > > Here are the OpenACC bits of . > > In the PR, Jakub clarified that all the missing other OMP_CLAUSE_* are in > fact all unreachable here

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Marc Glisse
+ /* All synthesis algorithms require shifts, so bail out early if + target cannot vectorize them. */ + if (!target_has_vecop_for_code (LSHIFT_EXPR, vectype)) +return false; Hmm, 2 points: * Could you use vect_supportable_shift (or equivalent) instead? This way it will work even if a

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Mon, 13 Jun 2016 16:43:25 +0200, Thomas Schwinge wrote: > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > wrote: > > Here are the OpenACC bits of . > > In the PR, Jakub clarified that all the missing other OMP_CLAUSE_* are in > fact all unreachable her

Re: [PATCH] Add ggc-tests.c

2016-06-13 Thread David Malcolm
On Mon, 2016-06-13 at 13:36 +0200, Ulrich Weigand wrote: > Gerald Pfeifer wrote: > > > The source code of need_finalization_p in ggc.h reads > > > >template > >static inline bool > >need_finalization_p () > >{ > >#if GCC_VERSION >= 4003 > > return !__has_trivial_destructo

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread David Malcolm
On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: > Hi, > > as noted in PR bootstrap/71481, comment#4 currently > the trunk fails to bootstrap if the current language is > not english. A workaround is possible by setting LANG=C, > but OTOH it is rather easy to fix, by translating the strin

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Bernd Edlinger
On 06/13/16 17:27, David Malcolm wrote: > On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: >> Hi, >> >> as noted in PR bootstrap/71481, comment#4 currently >> the trunk fails to bootstrap if the current language is >> not english. A workaround is possible by setting LANG=C, >> but OTOH it

Re: [patch, avr] Fix PR67353

2016-06-13 Thread Georg-Johann Lay
Pitchumani Sivanupandi schrieb: Hi, This patch introduces new flags for warning 'misspelled interrupt/ signal handler'. Flag -Wmisspelled-isr is enabled by default and it will warn user if the interrupt/ signal handler is without '__vector' prefix. Flag -Wno-misspelled-isr shall be enabled by us

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 03:39:21PM +, Bernd Edlinger wrote: > On 06/13/16 17:27, David Malcolm wrote: > > On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: > >> Hi, > >> > >> as noted in PR bootstrap/71481, comment#4 currently > >> the trunk fails to bootstrap if the current language is

[libiberty][PATCH] Avoid zero-length VLAs.

2016-06-13 Thread Brooks Moses
Zero-length variable-length-arrays are not allowed in standard C99, and perhaps more importantly, they cause ASAN to complain. (See, e.g., https://gcc.gnu.org/ml/gcc-patches/2013-09/msg00917.html.) With this patch, the libiberty tests, including demangler-fuzzer, are ASAN-clean. - Brooks

Fix CASE_CHAIN typos (was: [patch] Fix CASE_LABEL_EXPR documentation in tree.def and tree-cfg.c)

2016-06-13 Thread Thomas Schwinge
Hi! On Wed, 18 Apr 2012 17:32:08 +0200, Steven Bosscher wrote: > Subject says all. Will commit as obvious. > > * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. > * tree-cfg.c (edge_to_cases): Fix documentation. > --- tree.def(revision 186526) > +++ tre

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
On 13/06/16 15:48, Marc Glisse wrote: + /* All synthesis algorithms require shifts, so bail out early if + target cannot vectorize them. */ + if (!target_has_vecop_for_code (LSHIFT_EXPR, vectype)) +return false; Hmm, 2 points: * Could you use vect_supportable_shift (or equivalent) i

[Patch AArch64] Add some more missing intrinsics

2016-06-13 Thread James Greenhalgh
Hi, Inspired by Jiong's recent work, here are some more missing intrinsics, and a smoke test for each of them. This patch covers: vcvt_n_f64_s64 vcvt_n_f64_u64 vcvt_n_s64_f64 vcvt_n_u64_f64 vcvt_f64_s64 vrecpe_f64 vcvt_f64_u64 vrecps_f64 Tested on aarch64-none-elf, and on an in

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Mon, 13 Jun 2016 16:48:56 +0200, Jakub Jelinek wrote: > On Mon, Jun 13, 2016 at 04:43:25PM +0200, Thomas Schwinge wrote: > > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > > wrote: > > > Here are the OpenACC bits of . > > > > In the PR, Jakub clarified

Re: Update probabilities in predict.def to match reality

2016-06-13 Thread Kyrill Tkachov
Hi Honza, On 07/06/16 20:27, Jan Hubicka wrote: Hello, Maritn Liska measured branch predictor hitrates on current tree and SPEC2006. CPU2006 HEURISTICS BRANCHES (REL) HITRATE COVERAGE COVERAGE (REL) loop iv compare33 0.1

[PATCH, Fortran] PR71523 - Static variables given automatic initializers with -finit-* and -fmax-stack-var-size

2016-06-13 Thread Fritz Reese
RE: https://gcc.gnu.org/ml/fortran/2016-06/msg00023.html On Thu, Jun 9, 2016 at 2:01 PM, Fritz Reese wrote: > It looks like when -fautomatic and -finit-local-zero are set with > -fmax-stack-var-size=X, an automatic initializer is generated even for > variables larger than X which are given static

[PATCH], PowerPC: Allow DImode in Altivec registers

2016-06-13 Thread Michael Meissner
This patch goes through the PowerPC compiler and adds support to allow DImode (64-bit integers) into Altivec registers for VSX systems. It also adds some support to allow loading some DImode constants via either ISA 2.07 or ISA 3.0 instructions. I have bootstrapped this with no regressions on bot

Re: [patch, avr] Fix PR67353

2016-06-13 Thread Bernhard Reutner-Fischer
On June 13, 2016 5:48:43 PM GMT+02:00, Georg-Johann Lay wrote: >Pitchumani Sivanupandi schrieb: >> Hi, >> >> This patch introduces new flags for warning 'misspelled interrupt/ >> signal handler'. Flag -Wmisspelled-isr is enabled by default and it >> will warn user if the interrupt/ signal handler

Re: [PATCH 3/8] nvptx -muniform-simt

2016-06-13 Thread Alexander Monakov
On Sun, 12 Jun 2016, Sandra Loosemore wrote: > On 06/09/2016 10:53 AM, Alexander Monakov wrote: > > +@item -muniform-simt > > +@opindex muniform-simt > > +Generate code that allows to keep all lanes in each warp active, even when > > Allows *what* to keep? E.g. what is doing the keeping here? If

[PATCH PING] boehm-gc: check for execinfo.h directly

2016-06-13 Thread Mike Frysinger
The current header depends on glibc version checks to determine whether execinfo.h exists which breaks uClibc. Instead, add an explicit configure check for it. 2015-08-29 Mike Frysinger * configure.ac: Call AC_CHECK_HEADERS([execinfo.h]). * configure: Regenerated. * in

Re: [PATCH] c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’

2016-06-13 Thread Joseph Myers
On Fri, 27 May 2016, Martin Sebor wrote: > The patch below adjusts the C alignof pedantic warning to avoid > diagnosing the GCC extension (__alignof__) and only diagnose > _Alignof in C99 and prior modes. This is consistent with how > __attribute__ ((aligned)) and _Alignas is handled (among other

Fix oversight in vn_reference_lookup_3

2016-06-13 Thread Eric Botcazou
The second test on shared_lookup_references in the block: /* We need to pre-pend vr->operands[0..i] to rhs. */ vec old = vr->operands; if (i + 1 + rhs.length () > vr->operands.length ()) { vr->operands.safe_grow (i + 1 + rhs.length ()); if (old == sha

Re: [PATCH] PR bootstrap/71481: fix input.c selftest

2016-06-13 Thread Jeff Law
On 06/09/2016 03:58 PM, David Malcolm wrote: input.c's selftest::test_reading_source_line attempted to read from __FILE__, which doesn't work if the binary is run from a different location than the build dir. Fix it by rewriting the test to write out a tempfile, and read from that, rather than f

Re: [PATCH 1/3] selftest: show values when ASSERT_STREQ fails

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: Rework ASSERT_STREQ so that it prints the actual and expected values to stderr when it fails (by moving it to a helper function). gcc/ChangeLog: * selftest.c (selftest::fail_formatted): New function. (selftest::assert_streq): New funct

Re: [PATCH 3/3] pretty-print.c: skip color selftests if GCC_COLORS is set

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: gcc/ChangeLog: * pretty-print.c (assert_pp_format_colored): Skip the test if GCC_COLORS is set. (test_pp_format): Remove comment about GCC_COLORS. OK. jeff

Re: [PATCH 2/3] selftests: improve reported failure locations

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: This patch introduce a selftest::location struct to wrap up __FILE__ and __LINE__ information (and __FUNCTION__) throughout the selftests, allowing location information to be passed around. It updates the helper functions in pretty-print.c to pass thr

[PATCH] Fix SOURCE_DATE_EPOCH handling with -E (PR preprocessor/71183)

2016-06-13 Thread Jakub Jelinek
Hi! The SOURCE_DATE_EPOCH env var is ignored during -E, which is undesirable and inconsistent. The problem is that the appropriate callback for libcpp is only installed when compiling and not when preprocessing only. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for tru

Re: [PATCH], PowerPC: Allow DImode in Altivec registers

2016-06-13 Thread Michael Meissner
It would help if I included the patch. On Mon, Jun 13, 2016 at 01:28:16PM -0400, Michael Meissner wrote: > This patch goes through the PowerPC compiler and adds support to allow DImode > (64-bit integers) into Altivec registers for VSX systems. It also adds some > support to allow loading some DI

Re: Fix pure/const discovery WRT interposition part 2

2016-06-13 Thread H.J. Lu
On Sat, Apr 16, 2016 at 9:47 AM, Jan Hubicka wrote: > Hi, > this patch updates ipa-pure-const.c to only propagate PURE flag across > calls that does not bind to local defs and are not explicitly declared const. > This gets memory state into shape that the callee produced by other compiler > and st

[PATCH] Improve tree-ssa-tail-merge for switches (PR tree-optimization/71520)

2016-06-13 Thread Jakub Jelinek
Hi! Cross-jumping at GIMPLE level gives up e.g. because there are any labels at the beginning of the block (which is always the case for bbs referenced from switches). While labels for non-local goto as well as computed goto are hard to handle, after all the edges are then EDGE_ABNORMAL that can'

[PATCH] Fix ubsan handling of BIND_EXPR (PR sanitizer/71498)

2016-06-13 Thread Jakub Jelinek
Hi! As has been discussed in the original -fsanitize=bounds submission, walk_tree for BIND_EXPR walks the body and DECL_INITIAL/DECL_SIZE/DECL_SIZE_UNIT of all the BIND_EXPR_VARS. For -fsanitize=bounds instrumentation, we want to avoid walking DECL_INITIAL of TREE_STATIC vars, so should set *walk_

  1   2   >