[PATCH] More gimple accessor refactoring

2015-08-12 Thread Richard Biener
This handles calls and conds. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-08-13 Richard Biener * gimple.h (gcall::code_): New constant static member. (gcond::code_): Likewise. * gimple.c (gcall::code_): Define. (gcond::code_):

Re: [gomp4] dimension API

2015-08-12 Thread Thomas Schwinge
Hi Nathan! On Wed, 12 Aug 2015 09:30:10 -0400, Nathan Sidwell wrote: > I've committed this patch to gomp4. [...] > > Also put in the change I mentioned earlier this morning about the default > validate dims hook setting the dimensions to 1 on accelerators to. I'll > revert > Thomas's patc

Re: [RFC] COMDAT Safe Module Level Multi versioning

2015-08-12 Thread Sriraman Tallam
On Tue, Aug 4, 2015 at 11:43 AM, Sriraman Tallam wrote: > On Tue, Jun 16, 2015 at 4:22 PM, Sriraman Tallam wrote: >> On Tue, May 19, 2015 at 9:11 AM, Xinliang David Li >> wrote: Hm. But which options are unsafe? Also wouldn't it be better to simply _not_ have unsafe options pro

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2015 at 04:59:27PM +0100, Wilco Dijkstra wrote: > However it also creates new dependencies that may not be desirable > (such as hash table size, algorithm used etc). > > > Some notes about ppc64 in particular: > > > > * Constants aren't split until quite late, preventing all hop

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2015 at 03:31:48AM -0500, Segher Boessenkool wrote: > > * This is the only platform for which I bothered collecting any sort > > of performance data: > > > > As best I can tell, there is a 9% improvement in bootstrap speed > > for ppc64. That is, 10 minutes off the o

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2015 at 08:32:46AM -0700, Richard Henderson wrote: > On 08/12/2015 01:31 AM, Segher Boessenkool wrote: > > Is there something that makes the cache not get too big? Do we > > care, anyway? > > No, nothing ever reduces the size of the cache. I doubt we care, but I > haven't > inst

Re: [PATCH 06/15] rs6000: Use rldiwi in constant construction

2015-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2015 at 08:55:51AM -0700, Richard Henderson wrote: > On 08/12/2015 07:02 AM, Segher Boessenkool wrote: > > On Tue, Aug 11, 2015 at 06:11:35PM -0700, Richard Henderson wrote: > >> @@ -8173,6 +8173,13 @@ genimm_ppc::exam_search (HOST_WIDE_INT c, int > >> budget) > >>if (exam_mask

Re: [PATCH 01/15] rs6000: Split out rs6000_is_valid_and_mask_wide

2015-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2015 at 08:50:48AM -0700, Richard Henderson wrote: > On 08/12/2015 06:23 AM, Segher Boessenkool wrote: > > On Tue, Aug 11, 2015 at 06:11:30PM -0700, Richard Henderson wrote: > >> This allows testing for a mask without having to call GEN_INT. > >> > >> Cc: David Edelsohn > >> --- >

Go patch committed: Ignore erroneous trees in flatten

2015-08-12 Thread Ian Lance Taylor
This patch by Chris Manghane ignores erroneous trees in the flatten pass. This avoids various compiler crashes on invalid input, and fixes https://golang.org/issue/11536 , https://golang.org/issue/11558 , and https://golang.org/issue/11559 . Bootstrapped and ran Go testsuite on x86_64-unknown-lin

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread David Malcolm
On Thu, 2015-08-13 at 01:58 +0200, Markus Trippelsdorf wrote: > On 2015.08.12 at 13:03 -0600, Jeff Law wrote: > > On 08/12/2015 12:57 PM, Richard Sandiford wrote: > > > Jeff Law writes: > > >> On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: > > >>> From: Trevor Saunders > > >>> > > >>> H

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Markus Trippelsdorf
On 2015.08.12 at 13:03 -0600, Jeff Law wrote: > On 08/12/2015 12:57 PM, Richard Sandiford wrote: > > Jeff Law writes: > >> On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: > >>> From: Trevor Saunders > >>> > >>> Hi, > >>> > >>> In many places gcc puts classes in the anon namespace so the

RE: C++ Concepts available in trunk?

2015-08-12 Thread Dijk, J. van
> From: Jonathan Wakely [jwakely@gmail.com] >Sent: 12 August 2015 17:41 >On 12 August 2015 at 16:20, Dijk, J. van wrote: >> Dear all, >> >> Looking into gcc/cp/Changelog, it appears that on 2015-08-06 support >> for the C++ Concepts TS was added to trunk. >> >> Have Concepts in gcc matured to t

[PATCH] Forward to correct function in std::shared_mutex::unlock().

2015-08-12 Thread Eelis
Looks like a typo. :) Index: libstdc++-v3/include/std/shared_mutex === --- libstdc++-v3/include/std/shared_mutex (revision 226840) +++ libstdc++-v3/include/std/shared_mutex (working copy) @@ -331,7 +331,7 @@ void lock() { _M_im

Re: [Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-12 Thread Joseph Myers
On Tue, 11 Aug 2015, Matthew Wahab wrote: > PR target/67143 > * gcc.target/aarch64/pr67143.c: New What's architecture-specific about this test? That is, why doesn't it just go in gcc.c-torture/compile (no dg- directives needed, automatically looped over optimization options)? Arch

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Mike Stump
On Aug 12, 2015, at 1:07 PM, Richard Sandiford wrote: >> I don't think the right shifts are an issue at all. > > Well, they're implementation-defined, at least in C. > The C11 wording for E1 >> E2 is "If E1 has a signed type and a negative > value, the > resulting value is implementation-defin

Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE

2015-08-12 Thread Tobias Grosser
On 08/12/2015 10:33 PM, Aditya Kumar wrote: Passes bootstrap, no regressions. With this patch gcc bootstraps with graphite. make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block" LGTM, but please use a longer sentence to explain what you do. Tobias

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Trevor Saunders
On Wed, Aug 12, 2015 at 01:03:36PM -0600, Jeff Law wrote: > On 08/12/2015 12:57 PM, Richard Sandiford wrote: > >Jeff Law writes: > >>On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: > >>>From: Trevor Saunders > >>> > >>>Hi, > >>> > >>>In many places gcc puts classes in the anon namespace

[PATCH] [graphite] Constrain only on INTEGER_TYPE

2015-08-12 Thread Aditya Kumar
Passes bootstrap, no regressions. With this patch gcc bootstraps with graphite. make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block" gcc/ChangeLog: 2015-08-12 Aditya Kumar * graphite-scop-detection.c (stmt_simple_for_scop_p): Constrain only on INTEGER

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Trevor Saunders
On Wed, Aug 12, 2015 at 03:31:35PM -0400, David Edelsohn wrote: > This patch has caused a bootstrap failure on AIX. reverted, though my bet is this is some sort of generic devirt bug on aix. Trev > > - David

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Richard Sandiford
Jeff Law writes: > On 08/12/2015 12:32 PM, Richard Biener wrote: >> On August 12, 2015 8:07:13 PM GMT+02:00, Jeff Law wrote: >>> On 08/12/2015 11:12 AM, Richard Biener wrote: >>> Prec is almost never a constant and is heavily used from wide-int. We are not exploiting this unde

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread David Edelsohn
This patch has caused a bootstrap failure on AIX. - David

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Mike Stump
On Aug 12, 2015, at 11:07 AM, Jeff Law wrote: > On 08/12/2015 11:12 AM, Richard Biener wrote: >> >> Prec is almost never a constant and is heavily used from wide-int. >> >> We are not exploiting this undefined ness in C so I object to making this so >> much slower. >> >> Can we instead do what

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Jeff Law
On 08/12/2015 12:57 PM, Richard Sandiford wrote: Jeff Law writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders Hi, In many places gcc puts classes in the anon namespace so the compiler can tell they do not get inheritted from to enable better devirtualizati

Re: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Richard Sandiford
Jeff Law writes: > On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: >> From: Trevor Saunders >> >> Hi, >> >> In many places gcc puts classes in the anon namespace so the compiler can >> tell >> they do not get inheritted from to enable better devirtualization. However >> debugging code

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Jeff Law
On 08/12/2015 12:32 PM, Richard Biener wrote: On August 12, 2015 8:07:13 PM GMT+02:00, Jeff Law wrote: On 08/12/2015 11:12 AM, Richard Biener wrote: Prec is almost never a constant and is heavily used from wide-int. We are not exploiting this undefined ness in C so I object to making this

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Richard Biener
On August 12, 2015 8:07:13 PM GMT+02:00, Jeff Law wrote: >On 08/12/2015 11:12 AM, Richard Biener wrote: > >> >> Prec is almost never a constant and is heavily used from wide-int. >> >> We are not exploiting this undefined ness in C so I object to making >this so much slower. >> >> Can we instead d

[gomp4] declare directive

2015-08-12 Thread James Norris
Hi, The attached patch is a revision of the functionality required to handle the declare directive. The motivation for the change was that the original code was deemed to fragile and difficult to maintain. The new code is now smaller, in terms of line count, and hopefully, easier to understand.

[gomp4] Fix dim api breakage, optimize fns

2015-08-12 Thread Nathan Sidwell
I've committed this patch to a) fix the breakage I caused this morning, sorry b) Add a ptx-specific implementation of the fork_join hook. We only need to keep worker & vector-level forks & joins, and then only when the dimension size is not unity. This showed an awkwardness in that hook's API

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Jeff Law
On 08/12/2015 11:12 AM, Richard Biener wrote: Prec is almost never a constant and is heavily used from wide-int. We are not exploiting this undefined ness in C so I object to making this so much slower. Can we instead do what we do for abs_hwi and add a checking assert so we can move the te

Re: [PATCH][RTL-ifcvt] Improve conditional select ops on immediates

2015-08-12 Thread Jeff Law
On 08/04/2015 02:44 AM, Kyrill Tkachov wrote: On 03/08/15 18:37, Uros Bizjak wrote: On Mon, Aug 3, 2015 at 7:20 PM, Kyrill Tkachov wrote: Looking at the x86 movcc expansion code (ix86_expand_int_movcc) I don't think this is a good idea. In the expander, there is already quite some target-dep

Re: [C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Jeff Law
On 08/12/2015 11:40 AM, Marek Polacek wrote: On Wed, Aug 12, 2015 at 11:33:21AM -0600, Jeff Law wrote: On 08/12/2015 11:28 AM, Toon Moene wrote: https://gcc.gnu.org/ml/gcc-testresults/2015-08/msg01036.html [ Yes, that's at run time, not compile time ... ] Hoping some of those are fixed by the

Re: [PATCH] xtensa: add -mauto-litpools option

2015-08-12 Thread Max Filippov
On Wed, Aug 12, 2015 at 7:35 PM, augustine.sterl...@gmail.com wrote: > On Tue, Aug 11, 2015 at 6:09 PM, Max Filippov wrote: >> With support from assembler this option allows compiling huge functions, >> where single literal pool at the beginning of a function may not be >> reachable by L32R instr

Re: [PATCH][RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants

2015-08-12 Thread Kyrill Tkachov
On 12/08/15 18:32, Jeff Law wrote: On 08/12/2015 10:18 AM, Kyrill Tkachov wrote: Hi all, This patch is a sequel to: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02567.html It allows if-conversion of expressions of the form: if (test) x := y + c1; else x := y + c2 where c1 and c2 are a pair c

Re: [C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Marek Polacek
On Wed, Aug 12, 2015 at 11:33:21AM -0600, Jeff Law wrote: > On 08/12/2015 11:28 AM, Toon Moene wrote: > >https://gcc.gnu.org/ml/gcc-testresults/2015-08/msg01036.html > > > >[ Yes, that's at run time, not compile time ... ] > Hoping some of those are fixed by the sext_hwi changes from Mikael. I hop

Re: [C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Jeff Law
On 08/12/2015 11:28 AM, Toon Moene wrote: On 08/12/2015 05:39 PM, Marek Polacek wrote: This patch fixes a defect in -Wshift-overflow. We should only warn about left-shifting 1 into the sign bit when -Wshift-overflow=2. But this doesn't apply only for 1 << 31, but also for 2 << 30, etc. In C++

C++ PATCH for c++/67104 (wrong handling of array and constexpr)

2015-08-12 Thread Jason Merrill
cxx_eval_array_reference was assuming that the CONSTRUCTOR for an array has one entry per array element, in order. But cxx_eval_store_expression doesn't try to create such a CONSTRUCTOR, and other places use RANGE_EXPRs, so we need to be prepared to handle these cases. Tested x86_64-pc-linux

Re: [PATCH][RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants

2015-08-12 Thread Jeff Law
On 08/12/2015 10:18 AM, Kyrill Tkachov wrote: Hi all, This patch is a sequel to: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02567.html It allows if-conversion of expressions of the form: if (test) x := y + c1; else x := y + c2 where c1 and c2 are a pair constants that can be optimised using

C++ PATCH for c++/67108 (ICE with constexpr and tree dumps)

2015-08-12 Thread Jason Merrill
We can't do tsubsting once cgraph starts throwing away front end information; use the at_eof flag to communicate that we've reached that point. Tested x86_64-pc-linux-gnu, applying to trunk. commit 61a9d0354261705979003d15ebd7c97605d6dc2e Author: Jason Merrill Date: Wed Aug 12 15:54:06 2015

C++ PATCH for c++/67161 (ICE with template-id)

2015-08-12 Thread Jason Merrill
When we're dealing with a template-id, all the arguments are non-default, so don't try to GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT. Tested x86_64-pc-linux-gnu, applying to trunk and 5. commit 15818891060dc29f108ebe5929b1b85250f143a7 Author: Jason Merrill Date: Wed Aug 12 15:28:20 2015 +0100

Re: [C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Toon Moene
On 08/12/2015 05:39 PM, Marek Polacek wrote: This patch fixes a defect in -Wshift-overflow. We should only warn about left-shifting 1 into the sign bit when -Wshift-overflow=2. But this doesn't apply only for 1 << 31, but also for 2 << 30, etc. In C++14, never warn about this. And then there

Go patch committed: Don't make GC symbol for invalid array type

2015-08-12 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to not make a GC symbol for an invalid array type. This avoids a compiler crash and fixes https://golang.org/issue/11539 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERG

Re: Fix reload1.c warning for some targets

2015-08-12 Thread Jeff Law
On 08/05/2015 08:18 AM, Richard Sandiford wrote: Building some targets results in a warning about orig_dup[i] potentially being used uninitialised. I think the warning is fair, since it isn't obvious that the reog_data-based loop bound remains unchanged between: for (i = 0; i < recog_data.n_

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Richard Biener
On August 12, 2015 7:02:04 PM GMT+02:00, Jeff Law wrote: >On 08/12/2015 07:33 AM, Mikael Morin wrote: >> Le 12/08/2015 13:09, Richard Biener a écrit : >>> On Wed, Aug 12, 2015 at 1:07 PM, Markus Trippelsdorf >>> wrote: On 2015.08.12 at 13:01 +0200, Richard Biener wrote: > What kind of er

Re: [C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Jeff Law
On 08/12/2015 09:39 AM, Marek Polacek wrote: This patch fixes a defect in -Wshift-overflow. We should only warn about left-shifting 1 into the sign bit when -Wshift-overflow=2. But this doesn't apply only for 1 << 31, but also for 2 << 30, etc. In C++14, never warn about this. Neither existing

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Jeff Law
On 08/12/2015 07:33 AM, Mikael Morin wrote: Le 12/08/2015 13:09, Richard Biener a écrit : On Wed, Aug 12, 2015 at 1:07 PM, Markus Trippelsdorf wrote: On 2015.08.12 at 13:01 +0200, Richard Biener wrote: What kind of error does ubsan run into? That is, for which 'prec'? See: https://gcc.gnu.

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Ian Lance Taylor
On Wed, Aug 12, 2015 at 9:47 AM, Jeff Law wrote: > > If you're comfortable with Go at this point and we have mechanisms in place > to ensure Go only gets built on platforms that support Go, then I think we > should go forward with replacing GCJ with Go. We have the mechanism for disabling Go on s

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Jeff Law
On 08/12/2015 10:24 AM, Ian Lance Taylor wrote: On Wed, Aug 12, 2015 at 9:21 AM, Tom Tromey wrote: Jeff> In the past this has stalled on issues like how will asynch-exceptions Jeff> be tested and the like. It seems to me that either there is some other language which needs this -- in which cas

Re: [PATCH] xtensa: add -mauto-litpools option

2015-08-12 Thread augustine.sterl...@gmail.com
On Tue, Aug 11, 2015 at 6:09 PM, Max Filippov wrote: > With support from assembler this option allows compiling huge functions, > where single literal pool at the beginning of a function may not be > reachable by L32R instructions at its end. > > Currently assembler --auto-litpools option cannot d

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Ian Lance Taylor
On Wed, Aug 12, 2015 at 9:21 AM, Tom Tromey wrote: > Jeff> In the past this has stalled on issues like how will asynch-exceptions > Jeff> be tested and the like. > > It seems to me that either there is some other language which needs this > -- in which case that language ought to have testing for

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Ian Lance Taylor
On Wed, Aug 12, 2015 at 7:57 AM, Andrew Haley wrote: > On 12/08/15 15:44, Jeff Law wrote: >> My inclination is to replace GCJ with Go, but Ian wasn't comfortable >> with that when I suggested it a couple years ago. > > Because Go wasn't ready for prime time? I don't remember why I wasn't comforta

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Tom Tromey
Jeff> In the past this has stalled on issues like how will asynch-exceptions Jeff> be tested and the like. It seems to me that either there is some other language which needs this -- in which case that language ought to have testing for the feature -- or the feature is only used by gcj, in which c

[PATCH][RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants

2015-08-12 Thread Kyrill Tkachov
Hi all, This patch is a sequel to: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02567.html It allows if-conversion of expressions of the form: if (test) x := y + c1; else x := y + c2 where c1 and c2 are a pair constants that can be optimised using the existing rules in noce_try_store_flag_const

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Richard Henderson
On 08/12/2015 08:59 AM, Wilco Dijkstra wrote: > I looked at the statistics of AArch64 immediate generation a while ago. > The interesting thing is ~95% of calls are queries, and the same query is on > average repeated 10 times in a row. So (a) it is not important to cache the > expansions, and (

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Wilco Dijkstra
Richard Henderson wrote: > However, the way that aarch64 and alpha have done it hasn't > been ideal, in that there's a fairly costly search that must > be done every time. I've thought before about changing this > so that we would be able to cache results, akin to how we do > it in expmed.c for mu

Re: [PATCH 01/15] rs6000: Split out rs6000_is_valid_and_mask_wide

2015-08-12 Thread Richard Henderson
On 08/12/2015 06:23 AM, Segher Boessenkool wrote: > On Tue, Aug 11, 2015 at 06:11:30PM -0700, Richard Henderson wrote: >> This allows testing for a mask without having to call GEN_INT. >> >> Cc: David Edelsohn >> --- >> * config/rs6000/rs6000.c (rs6000_is_valid_mask_wide): Split out from... >

Re: [PATCH 06/15] rs6000: Use rldiwi in constant construction

2015-08-12 Thread Richard Henderson
On 08/12/2015 07:02 AM, Segher Boessenkool wrote: > On Tue, Aug 11, 2015 at 06:11:35PM -0700, Richard Henderson wrote: >> @@ -8173,6 +8173,13 @@ genimm_ppc::exam_search (HOST_WIDE_INT c, int budget) >>if (exam_mask (-1, c, sub_budget)) >> return true; >> >> + /* If the two halves are eq

Re: [gomp4] dimension API

2015-08-12 Thread Nathan Sidwell
On 08/12/15 09:30, Nathan Sidwell wrote: I've committed this patch to gomp4. It reworks the oacc functiuon attribute dimension handling. Rather than pass the TREE_LIST to the various hooks, I convert it to a regular C array of ints. That makes life simpler for the consumers. They return a 'ch

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Richard Henderson
On 08/12/2015 01:32 AM, Richard Earnshaw wrote: > How do we clear the cache, and when? For example, on ARM, switching > between ARM and Thumb state means we need to generate potentially > radically different sequences? We can do such splitting at function > boundaries now. At present I never cle

[C/C++ PATCH] Fix -Wshift-overflow with sign bit

2015-08-12 Thread Marek Polacek
This patch fixes a defect in -Wshift-overflow. We should only warn about left-shifting 1 into the sign bit when -Wshift-overflow=2. But this doesn't apply only for 1 << 31, but also for 2 << 30, etc. In C++14, never warn about this. Neither existing tests nor documentation require updating, I th

Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation

2015-08-12 Thread Richard Henderson
On 08/12/2015 01:31 AM, Segher Boessenkool wrote: > Is there something that makes the cache not get too big? Do we > care, anyway? No, nothing ever reduces the size of the cache. I doubt we care, but I haven't instrumented to see how big it grows. My intuition says the most important thing abou

Re: [PATCH, PR 66521,part 2] Fix warnings on darwin when bootstrapping with vtable verification enabled

2015-08-12 Thread Jeff Law
On 08/11/2015 01:44 PM, Caroline Tice wrote: I forgot the ChangeLog enty; here it is: libstdc++-v3/ChangeLog: 2015-08-11 Caroline Tice PR 66521, Contributed by Eric Gallager * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and fix the rpath flag t

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Andrew Haley
On 12/08/15 15:44, Jeff Law wrote: > My inclination is to replace GCJ with Go, but Ian wasn't comfortable > with that when I suggested it a couple years ago. Because Go wasn't ready for prime time? Andrew.

[committed, PATCH] Add Knights Landing support to __builtin_cpu_is

2015-08-12 Thread H.J. Lu
This patch adds Knights Landing support to __builtin_cpu_is. gcc/testsuite/ * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Check Knights Landing support. libgcc/ * config/i386/cpuinfo.c (processor_types): Add INTEL_KNL. (get_intel_cpu): Add Knights L

Re: [PATCH, libjava/classpath]: Fix overriding recipe for target 'gjdoc' build warning

2015-08-12 Thread Jeff Law
On 08/11/2015 08:47 PM, Tom Tromey wrote: Jeff> It's probably time for the occasional discussion WRT dropping Jeff> gcj/libjava from the default languages and replace them with either Jeff> Ada or Go. It's long past time to remove it. It's only had minimal maintenance for years now. No one is

[PATCH][AArch64][committed] Do not ICE after apologising for -mcmodel=large -fPIC

2015-08-12 Thread Kyrill Tkachov
Hi all, If we try to compile a file with -mcmodel=large -fPIC we will emit a sorry in initialize_aarch64_code_model because that combination is not implemented. However, there is a missing break in that case statement and we end up falling through to the gcc_unreachable and ICE'ing. The right thi

Re: [PATCH][1/2] Make SCCVN use conditional equivalences

2015-08-12 Thread Markus Trippelsdorf
On 2015.08.12 at 09:32 +0200, Richard Biener wrote: > > This is the first patch in the series to make SCCVN able to remove > redundant comparisons by recording conditionals being true on > visited edges. This part of the series fully transitions the > toplevel walk gathering entries to SCCs we va

Re: [PATCH][RTL-ifcvt] Make non-conditional execution if-conversion more aggressive

2015-08-12 Thread Kyrill Tkachov
On 11/08/15 18:09, Kyrill Tkachov wrote: On 11/08/15 18:05, Jeff Law wrote: On 08/09/2015 03:20 PM, Steven Bosscher wrote: On Fri, Jul 31, 2015 at 7:26 PM, Jeff Law wrote: So there's a tight relationship between the implementation of bbs_ok_for_cmove_arith and insn_valid_noce_process_p. If

Re: [PATCH, PR67092, PR67098 ] Remove --with-host-libstdcxx

2015-08-12 Thread Richard Biener
On Wed, 12 Aug 2015, Tom de Vries wrote: > Hi, > > this patch removes configure option --with-host-libstdcxx. > > [ As suggested here ( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67092#c13 > ): > ... > I think we can no longer reliably support host libstdc++ as includes are not > picked up fro

Re: [PATCH][2/2] Make SCCVN use conditional equivalences

2015-08-12 Thread Richard Biener
On Wed, 12 Aug 2015, Richard Biener wrote: > > This brings FRE/PRE up to the same level as DOM in being able to > remove redundant conditionals. It does so by inserting temporary > conditional expressions proved to be true on single predecessor > edges. > > I've had to do a lot of testcase adju

Re: [PATCH 06/15] rs6000: Use rldiwi in constant construction

2015-08-12 Thread Segher Boessenkool
On Tue, Aug 11, 2015 at 06:11:35PM -0700, Richard Henderson wrote: > @@ -8173,6 +8173,13 @@ genimm_ppc::exam_search (HOST_WIDE_INT c, int budget) >if (exam_mask (-1, c, sub_budget)) > return true; > > + /* If the two halves are equal, use an insert. */ > + if (c >> 32 == test && exam_

Re: [PATCH 04/15] rs6000: Implement set_const_data infrastructure

2015-08-12 Thread Segher Boessenkool
Hi Richard, You wanted us to read this file... On Tue, Aug 11, 2015 at 06:11:33PM -0700, Richard Henderson wrote: > + -- The fallback generation for the most complex word_mode constants. > + The receipe built will be the full MAX_COST insns, as we will ^-- typo. Segher

Re: [Aarch64][target/PR 67143] Use correct constraints on operands for atomic operations.

2015-08-12 Thread Matthew Wahab
On 11/08/15 15:07, James Greenhalgh wrote: On Tue, Aug 11, 2015 at 02:05:37PM +0100, Matthew Wahab wrote: This patch reworks the atomic operation patterns to select the appropriate constraint for the operation. The logical operations take the constraints specified by the current lconst_atomic m

[PATCH, PR67092, PR67098 ] Remove --with-host-libstdcxx

2015-08-12 Thread Tom de Vries
Hi, this patch removes configure option --with-host-libstdcxx. [ As suggested here ( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67092#c13 ): ... I think we can no longer reliably support host libstdc++ as includes are not picked up from its location and GCC is C++ now. I suggest to remove

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Mikael Morin
Le 12/08/2015 13:09, Richard Biener a écrit : On Wed, Aug 12, 2015 at 1:07 PM, Markus Trippelsdorf wrote: On 2015.08.12 at 13:01 +0200, Richard Biener wrote: What kind of error does ubsan run into? That is, for which 'prec'? See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67042 Ugh. St

Re: [PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-12 Thread Yvan Roux
On 11 August 2015 at 12:28, Ramana Radhakrishnan wrote: >> >> Yes in big-endian DI mode value are stored into VFP registers, and >> here register 16 is the first of them s0. Just in case you want to do >> more test, the issue can be seen with a oneline testcase: >> >> __attribute__((__vector_size

[gomp4] dimension API

2015-08-12 Thread Nathan Sidwell
I've committed this patch to gomp4. It reworks the oacc functiuon attribute dimension handling. Rather than pass the TREE_LIST to the various hooks, I convert it to a regular C array of ints. That makes life simpler for the consumers. They return a 'changed' flag to indicate whether the attr

Re: [PATCH 01/15] rs6000: Split out rs6000_is_valid_and_mask_wide

2015-08-12 Thread Segher Boessenkool
On Tue, Aug 11, 2015 at 06:11:30PM -0700, Richard Henderson wrote: > This allows testing for a mask without having to call GEN_INT. > > Cc: David Edelsohn > --- > * config/rs6000/rs6000.c (rs6000_is_valid_mask_wide): Split out from... > (rs6000_is_valid_mask): ... here. > (rs600

Re: [gomp4] Work around expand_GOACC_DIM_SIZE/expand_GOACC_DIM_POS ICEs

2015-08-12 Thread Nathan Sidwell
On 08/12/15 08:46, Nathan Sidwell wrote: On 08/12/15 06:21, Thomas Schwinge wrote: Hi! OpenACC offloading code for Intel MIC doesn't make a lot of sense (currently), but it is what's being done, and has caused a lot of regressions in my testing, so I committed the following workaround to gom

Re: [gomp4] Work around expand_GOACC_DIM_SIZE/expand_GOACC_DIM_POS ICEs

2015-08-12 Thread Nathan Sidwell
On 08/12/15 06:21, Thomas Schwinge wrote: Hi! OpenACC offloading code for Intel MIC doesn't make a lot of sense (currently), but it is what's being done, and has caused a lot of regressions in my testing, so I committed the following workaround to gomp-4_0-branch in r226804. A different appro

Re: [Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread James Greenhalgh
On Wed, Aug 12, 2015 at 11:16:41AM +0100, Matthew Wahab wrote: > ARMv8.1 adds instructions for atomic compare-and-swap with optional > memory ordering specifiers. This patch adds tests for the > compare-and-swap instructions as two files. The first is support code to > run the test with a range of

[committed] Better location for atomic bit-fields

2015-08-12 Thread Marek Polacek
A trivial patch to use LOC for atomic bit-fields error messages. I haven't bothered with a testcase this time. Bootstrapped/regtested on x86_64-linux, applying to trunk. 2015-08-12 Marek Polacek * c-decl.c (grokdeclarator): Call error_at instead of error and pass LOC to it. d

Re: [Aarch64][2/3] Use the atomic compare-and-swap instructions when available.

2015-08-12 Thread James Greenhalgh
On Wed, Aug 12, 2015 at 11:15:25AM +0100, Matthew Wahab wrote: > ARMv8.1 adds instructions for atomic compare-and-swap with optional memory > ordering specifiers. This patch adds the compare-and-swap instructions and > changes the atomic_compare_and_swap patterns to use them > > The changes to the

Re: [Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread Matthew Wahab
On 12/08/15 11:51, Andrew Pinski wrote: On Wed, Aug 12, 2015 at 6:16 PM, Matthew Wahab wrote: ARMv8.1 adds instructions for atomic compare-and-swap with optional memory ordering specifiers. This patch adds tests for the compare-and-swap instructions as two files. The first is support code to ru

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Richard Biener
On Wed, Aug 12, 2015 at 1:07 PM, Markus Trippelsdorf wrote: > On 2015.08.12 at 13:01 +0200, Richard Biener wrote: >> On Tue, Aug 11, 2015 at 9:49 PM, Jeff Law wrote: >> > On 08/06/2015 04:25 AM, Mikael Morin wrote: >> >> >> >> Hello, >> >> >> >> this avoids an error found with bootstrap-ubsan. >>

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Markus Trippelsdorf
On 2015.08.12 at 13:01 +0200, Richard Biener wrote: > On Tue, Aug 11, 2015 at 9:49 PM, Jeff Law wrote: > > On 08/06/2015 04:25 AM, Mikael Morin wrote: > >> > >> Hello, > >> > >> this avoids an error found with bootstrap-ubsan. > >> Regression tested on x86_64-unknown-linux-gnu. OK for trunk? > >>

Re: [Patch] sext_hwi: Avoid left shift of negative value undefined behaviour

2015-08-12 Thread Richard Biener
On Tue, Aug 11, 2015 at 9:49 PM, Jeff Law wrote: > On 08/06/2015 04:25 AM, Mikael Morin wrote: >> >> Hello, >> >> this avoids an error found with bootstrap-ubsan. >> Regression tested on x86_64-unknown-linux-gnu. OK for trunk? >> >> Mikael >> >> >> noub_sext.CL >> >> >> 2015-08-05 Mikael Morin >

Re: [Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread Andrew Pinski
On Wed, Aug 12, 2015 at 6:16 PM, Matthew Wahab wrote: > ARMv8.1 adds instructions for atomic compare-and-swap with optional > memory ordering specifiers. This patch adds tests for the > compare-and-swap instructions as two files. The first is support code to > run the test with a range of types an

Re: [PATCH] Don't create superfluous parm in expand_omp_taskreg

2015-08-12 Thread Richard Biener
On Tue, 11 Aug 2015, Tom de Vries wrote: > [ was: Re: [committed, gomp4] Fix release_dangling_ssa_names ] > > On 05/08/15 13:13, Richard Biener wrote: > > On Wed, 5 Aug 2015, Tom de Vries wrote: > > > > > On 05/08/15 11:30, Richard Biener wrote: > > > > On Wed, 5 Aug 2015, Tom de Vries wrote: >

[patch] Update libstdc++ status docs and contribution policies.

2015-08-12 Thread Jonathan Wakely
Committed to trunk. commit 099d855a8ad7b655662e8f9c36cfb998541f501d Author: Jonathan Wakely Date: Tue Jul 21 13:26:07 2015 +0100 * doc/xml/manual/appendix_contributing.xml: Update patch email policy. * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/*:

RE: [PATCH][MIPS] Scheduler fix for the 74k & 24k.

2015-08-12 Thread Robert Suchanek
Hi, > > Simon > > > > gcc/ > > * config/mips/mips.c (mips_store_data_bypass_p): Bring code into > > line with comments. > > * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. > > > > This patch is OK. Committed on Simon's behalf as r226805. Regards, Robert

Re: [Aarch64][1/3] Use atomic compare-and-swap instructions when available.

2015-08-12 Thread James Greenhalgh
On Wed, Aug 12, 2015 at 11:12:29AM +0100, Matthew Wahab wrote: > ARMv8.1 adds instructions for atomic compare-and-swap with optional > memory ordering specifiers. This patch series adds the instructions to > GCC, making them available with -march=armv8.1-a or with > -march=armv8-a+lse, and using th

[gomp4] Work around expand_GOACC_DIM_SIZE/expand_GOACC_DIM_POS ICEs (was: signed nums are better for dimensions)

2015-08-12 Thread Thomas Schwinge
Hi! On Tue, 11 Aug 2015 13:38:34 -0400, Nathan Sidwell wrote: > 2) We really should not be getting to the expanders if there's nothing to > expand > to. That's simply covering up lack of earlier handling. That earlier > removal > gives optimizers more leeway. > --- internal-fn.c (revis

[Aarch64][3/3] Add tests for atomic compare-and-swap instructions.

2015-08-12 Thread Matthew Wahab
ARMv8.1 adds instructions for atomic compare-and-swap with optional memory ordering specifiers. This patch adds tests for the compare-and-swap instructions as two files. The first is support code to run the test with a range of types and memory models, the second is the test for the CAS instructio

[Aarch64][2/3] Use the atomic compare-and-swap instructions when available.

2015-08-12 Thread Matthew Wahab
ARMv8.1 adds instructions for atomic compare-and-swap with optional memory ordering specifiers. This patch adds the compare-and-swap instructions and changes the atomic_compare_and_swap patterns to use them The changes to the atomic_compare_and_swap pattern makes the new instructions available as

[Aarch64][1/3] Use atomic compare-and-swap instructions when available.

2015-08-12 Thread Matthew Wahab
ARMv8.1 adds instructions for atomic compare-and-swap with optional memory ordering specifiers. This patch series adds the instructions to GCC, making them available with -march=armv8.1-a or with -march=armv8-a+lse, and using them to implement the __sync and __atomic builtins. This patch adds an

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Richard Biener
On Wed, 12 Aug 2015, Rainer Orth wrote: > Tom de Vries writes: > > > On 12/08/15 10:51, Rainer Orth wrote: > >> Tom de Vries writes: > >> > >>> This follow-up patch introduces a new effective target vect_min_max, > >>> similar to how effective target vect_bswap is implemented. > >>> > >>> Any c

[gomp4] Merge trunk r226769 (2015-08-10) into gomp-4_0-branch

2015-08-12 Thread Thomas Schwinge
Hi! Committed to gomp-4_0-branch in r226803: commit e2f0fc69bc92b2232573cfafe5f4975551eb05e0 Merge: 66f94e8 b5c93b0 Author: tschwinge Date: Wed Aug 12 09:34:27 2015 + svn merge -r 225562:226769 svn+ssh://gcc.gnu.org/svn/gcc/trunk git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Rainer Orth
Tom de Vries writes: > On 12/08/15 10:51, Rainer Orth wrote: >> Tom de Vries writes: >> >>> This follow-up patch introduces a new effective target vect_min_max, >>> similar to how effective target vect_bswap is implemented. >>> >>> Any comments? >>> >>> Thanks, >>> - Tom >>> >>> Add check_effect

[PATCH][2/2] Make SCCVN use conditional equivalences

2015-08-12 Thread Richard Biener
This brings FRE/PRE up to the same level as DOM in being able to remove redundant conditionals. It does so by inserting temporary conditional expressions proved to be true on single predecessor edges. I've had to do a lot of testcase adjustments, thus the patch is now re-bootstrapping / testing

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Tom de Vries
On 12/08/15 10:51, Rainer Orth wrote: Tom de Vries writes: This follow-up patch introduces a new effective target vect_min_max, similar to how effective target vect_bswap is implemented. Any comments? Thanks, - Tom Add check_effective_target_vect_min_max 2015-08-12 Tom de Vries

  1   2   >