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 > > vrp_evaluate_conditiona

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

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)

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

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

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

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Rainer Orth
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 > > * lib/target-supports

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 faili

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

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

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

[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

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

[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

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

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

[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] 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: >

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] 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: [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 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: [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: [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

[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][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: [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: [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: [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

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

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

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

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 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][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, 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][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][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

[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, 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 L

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

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

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 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: [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 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 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 (

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

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 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] 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 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, 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] 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: [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 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: 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_

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

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

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

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++/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: [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++

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: [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 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] 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: [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

[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

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

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 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 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] 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 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 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 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

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

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

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

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

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

  1   2   >