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

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

[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

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.

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

[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

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 from its

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 l...@redhat.com wrote: So there's a tight relationship between the implementation of bbs_ok_for_cmove_arith and

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 cmt...@google.com PR 66521, Contributed by Eric Gallager * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and

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 about

[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

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 clear

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

[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 hiradi...@msn.com * graphite-scop-detection.c (stmt_simple_for_scop_p): Constrain

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)?

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 l...@redhat.com writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, In many places gcc puts classes in the

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 l...@redhat.com writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, In many places gcc puts classes in the anon

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: 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 the point that

[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() {

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] 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 rdsandif...@googlemail.com 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

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 dje@gmail.com ---

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 (-1, c,

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 original

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 l...@redhat.com writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders

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

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 tmsri...@google.com wrote: On Tue, Jun 16, 2015 at 4:22 PM, Sriraman Tallam tmsri...@google.com wrote: On Tue, May 19, 2015 at 9:11 AM, Xinliang David Li davi...@google.com wrote: Hm. But which options are unsafe? Also wouldn't it be better

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 instrumented

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 hope of

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

2015-08-12 Thread Richard Earnshaw
On 12/08/15 09:32, Richard Earnshaw wrote: On 12/08/15 02:11, Richard Henderson wrote: Something last week had me looking at ppc64 code generation, and some of what I saw was fairly bad. Fixing it wasn't going to be easy, due to the fact that the logic for generating constants wasn't

[RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Tom de Vries
[ was: Re: [committed, testsuite] Fix vect/trapv-vect-reduc-4.c for sparc ] On 12/08/15 07:57, Tom de Vries wrote: Hi, For sparc, the scan for 'vectorized 2 loops' in vect/trapv-vect-reduc-4.c fail because the vector instructions min and max are not supported. Tested on x86_64. Tested on

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Rainer Orth
Tom de Vries tom_devr...@mentor.com 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

Re: [optimize3/3] VRP min/max exprs

2015-08-12 Thread Richard Biener
On Tue, 11 Aug 2015, Nathan Sidwell wrote: On 08/11/15 07:41, Richard Biener wrote: The patch looks good. Note that with SSA name operands it can be still profitable to do compare_range_with_value, esp. if the other operand has a symbolical range. See

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

2015-08-12 Thread Richard Earnshaw
On 12/08/15 02:11, Richard Henderson wrote: Something last week had me looking at ppc64 code generation, and some of what I saw was fairly bad. Fixing it wasn't going to be easy, due to the fact that the logic for generating constants wasn't contained within a single function. Better is

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

2015-08-12 Thread Segher Boessenkool
Hi! This looks really nice. I'll try it out soon :-) Some comments now... On Tue, Aug 11, 2015 at 06:11:29PM -0700, 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

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

2015-08-12 Thread Richard Biener
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 value-number to the DOM walk which at the moment only visits

Re: [PATCH][RFC] Re-work GIMPLE checking to be gimple class friendly (even better)

2015-08-12 Thread Richard Biener
On Mon, 3 Aug 2015, Richard Biener wrote: On Mon, 27 Jul 2015, Richard Biener wrote: On Mon, 27 Jul 2015, Richard Biener wrote: On Mon, 27 Jul 2015, Richard Biener wrote: I noticed that the code we generate for a simple gimple_assign_rhs1 (stmt) is quite bad as we

[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 tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4 Date: Wed Aug 12 09:34:27 2015 + svn merge -r 225562:226769 svn+ssh://gcc.gnu.org/svn/gcc/trunk

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 tom_devr...@mentor.com writes: On 12/08/15 10:51, Rainer Orth wrote: Tom de Vries tom_devr...@mentor.com writes: This follow-up patch introduces a new effective target vect_min_max, similar to how effective target vect_bswap is

[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: [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 mar...@trippelsdorf.de wrote: On 2015.08.12 at 13:01 +0200, Richard Biener wrote: On Tue, Aug 11, 2015 at 9:49 PM, Jeff Law l...@redhat.com wrote: On 08/06/2015 04:25 AM, Mikael Morin wrote: Hello, this avoids an error found with

[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 tom_devr...@mentor.com 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

[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 nat...@acm.org 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

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 them

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 matthew.wa...@foss.arm.com 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

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: On

[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 pola...@redhat.com * c-decl.c (grokdeclarator): Call error_at instead of error and pass

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

2015-08-12 Thread Richard Earnshaw
On 12/08/15 09:43, Richard Earnshaw wrote: On 12/08/15 09:32, Richard Earnshaw wrote: On 12/08/15 02:11, Richard Henderson wrote: I'm somewhat surprised that the operands to the logicals aren't visible at rtl generation time, given all the work done in gimple. And failing that,

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Rainer Orth
Tom de Vries tom_devr...@mentor.com writes: On 12/08/15 10:51, Rainer Orth wrote: Tom de Vries tom_devr...@mentor.com 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

[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

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

2015-08-12 Thread Jonathan Wakely
Committed to trunk. commit 099d855a8ad7b655662e8f9c36cfb998541f501d Author: Jonathan Wakely jwak...@redhat.com 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. *

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][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 matthew.wa...@foss.arm.com 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

[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

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 l...@redhat.com 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

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 l...@redhat.com 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: [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: [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

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

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 t...@tromey.com 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

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 a...@redhat.com 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

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 t...@tromey.com 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

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 mar...@trippelsdorf.de 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'?

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 (b)

[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

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, 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 l...@redhat.com 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

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 equal, use

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 dje@gmail.com --- * config/rs6000/rs6000.c (rs6000_is_valid_mask_wide): Split out

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 jcmvb...@gmail.com 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

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 l...@redhat.com 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 mar...@trippelsdorf.de wrote: On 2015.08.12 at 13:01 +0200, Richard Biener

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

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

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

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 ramana.radhakrish...@foss.arm.com 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:

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 dje@gmail.com --- * config/rs6000/rs6000.c (rs6000_is_valid_mask_wide): Split out from... (rs6000_is_valid_mask): ... here.

[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

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 mar...@trippelsdorf.de 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:

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_sub

[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

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

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: [PATCH 2/2] replace several uses of the anon namespace with GCC_FINAL

2015-08-12 Thread Richard Sandiford
Jeff Law l...@redhat.com writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org 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.

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 l...@redhat.com writes: On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, In many places gcc puts classes in the anon namespace so the compiler can tell they do not get

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 l...@redhat.com 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

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

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

[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.

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 l...@redhat.com 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

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 l...@redhat.com 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

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:

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 ja...@redhat.com Date: Wed Aug

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++14,

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 hope too

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

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 augustine.sterl...@gmail.com wrote: On Tue, Aug 11, 2015 at 6:09 PM, Max Filippov jcmvb...@gmail.com wrote: With support from assembler this option allows compiling huge functions, where single literal pool at the beginning of a

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

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 ja...@redhat.com Date: Wed Aug 12 15:28:20

  1   2   >