Go patch committed: Check for EOF when parsing function signature

2015-08-11 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to check for EOF when parsing a function signature. This avoids an infinite loop on an invalid program, and fixes https://golang.org/issue/11530 and https://golang.org/issue/11531 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.

[PATCH 09/15] rs6000: Use xoris in constant construction

2015-08-11 Thread Richard Henderson
Helps for constants like 0xf70008000ul, 0xul, 0x550ful. There doesn't appear to be any benefit to using xori; every test that I expected to use it found an alternate solution of the same cost. Cc: David Edelsohn dje@gmail.com --- *

[PATCH 04/15] rs6000: Implement set_const_data infrastructure

2015-08-11 Thread Richard Henderson
Implements basic hashing and minimal cost search, but no real new optimizations on the constants. That said, there is one code generation change implied by the searching: we'll find equal or more efficient alternatives to zero-extending a 32-bit unsigned constant with bit 31 set. E.g.

[PATCH 10/15] rs6000: Use rotldi in constant generation

2015-08-11 Thread Richard Henderson
Helps for constants like 0x3333ul and 0xfffful. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (genimm_ppc::exam_rotl): New. (genimm_ppc::exam_search): Use it. (genimm_ppc::generate): Handle ROTATE. --- gcc/config/rs6000/rs6000.c

[PATCH 07/15] rs6000: Generalize left shift in constant generation

2015-08-11 Thread Richard Henderson
Rather than always shift by 32, shift by the total number of zeros required. The improvement to also look to shift out ones comes from Kenner via alpha. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (genimm_ppc::exam_search): Use ctz to compute the shift. Also

[PATCH 08/15] rs6000: Generalize masking in constant generation

2015-08-11 Thread Richard Henderson
Rather than only consider -1 as a base, consider any negative number. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (genimm_ppc::exam_search): Attempt to mask negative numbers. --- gcc/config/rs6000/rs6000.c | 6 ++ 1 file changed, 6 insertions(+) diff

Go patch committed: Comments with newlines are treated like a newline

2015-08-11 Thread Ian Lance Taylor
This patch from Chris Manghane changes the Go frontend to treat /* */ comments that contain newlines as though they were a newline, rather than a space, with regard to semicolon insertion. This fixes https://golang.org/issue/11528 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.

Re: [PATCH] Fix PR67053

2015-08-11 Thread Richard Biener
On Tue, 11 Aug 2015, Marc Glisse wrote: On Wed, 29 Jul 2015, Richard Biener wrote: The following fixes PR67053 by more closely mirror what fold_binary()s STRIP_NOPS does to avoid the C++ FE constexpr code to regress. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Re: [PATCH] Fix PR67053

2015-08-11 Thread Marc Glisse
On Tue, 11 Aug 2015, Richard Biener wrote: On Tue, 11 Aug 2015, Marc Glisse wrote: On Wed, 29 Jul 2015, Richard Biener wrote: The following fixes PR67053 by more closely mirror what fold_binary()s STRIP_NOPS does to avoid the C++ FE constexpr code to regress. Bootstrapped on

Re: Fix two more memory leaks in threader

2015-08-11 Thread Uros Bizjak
Hello! +2015-08-03 Jeff Law l...@redhat.com + + PR middle-end/66314 + PR gcov-profile/66899 + * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly + iterate over the jump threading paths when an element in the + jump threading paths array is eliminated. + 2015-08-03 Segher Boessenkool

Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt

2015-08-11 Thread Jiong Wang
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error:

Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt

2015-08-11 Thread Jiong Wang
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error:

Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt

2015-08-11 Thread Andreas Schwab
Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error: iteration 8u invokes undefined

RE: [PATCH] Obvious fix for PR66828: left shift with undefined behavior in bswap pass

2015-08-11 Thread Richard Biener
On Thu, 6 Aug 2015, Thomas Preud'homme wrote: Hi, From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme Sent: Tuesday, July 28, 2015 3:04 PM From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- ow...@gcc.gnu.org] On

Re: [PATCH] Fix PR67053

2015-08-11 Thread Richard Biener
On Tue, 11 Aug 2015, Marc Glisse wrote: On Tue, 11 Aug 2015, Richard Biener wrote: On Tue, 11 Aug 2015, Marc Glisse wrote: On Wed, 29 Jul 2015, Richard Biener wrote: The following fixes PR67053 by more closely mirror what fold_binary()s STRIP_NOPS does to avoid the C++ FE

[committed] Add todo comment for move_sese_region_to_fn

2015-08-11 Thread Tom de Vries
[ was: Re: [committed, gomp4] Fix release_dangling_ssa_names ] On 05/08/15 13:13, Richard Biener wrote: I think that the whole dance of actually moving things instead of just copying it isn't worth the extra maintainance (well, if we already have a machinery duplicating a SESE region to

RE: [PATCH, MIPS] Remove W32 and W64 pseudo-processors

2015-08-11 Thread Matthew Fortune
Robert Suchanek robert.sucha...@imgtec.com writes: gcc/ * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 pseudo-processors. * config/mips/mips.md (processor): Remove w32 and w64. OK, thanks. Matthew

Re: [optimize 2/3] Simplify vrp abs conversion

2015-08-11 Thread Richard Biener
On Mon, 10 Aug 2015, Nathan Sidwell wrote: Richard, in looking at how simplify_abs_using_ranges was doing its thing as a guide to a min/max vrp optimization, I noticed it was doing more work than necessary. Firstly, it wasn't taking advantage of the range comparison functions only

Re: [Bug fortran/52846] [F2008] Support submodules - part 3/3

2015-08-11 Thread Paul Richard Thomas
Dear Reinhold, I am glad that it was not just me being anxious about the issue! For a day or two, I am somewhat distracted by loading up a new Lenovo workstation and installing a xeon phi on it. Given the current insane low price of the BC31S1P, I thought to see how best to allow gfortran to

Re: [PR25529] Convert (unsigned t * 2)/2 into unsigned (t 0x7FFFFFFF)

2015-08-11 Thread Richard Biener
On Tue, Aug 11, 2015 at 2:50 PM, Richard Biener richard.guent...@gmail.com wrote: On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen naveen.hurugalaw...@caviumnetworks.com wrote: Hi, extend it - it should also work for non-INTEGER_CST divisors and it should work for any kind of division,

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

2015-08-11 Thread Ramana Radhakrishnan
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__(2 * sizeof(int int fn1() {} Yep we may well have DImode

Re: [PATCH] 1/n remove useless typedefs

2015-08-11 Thread Richard Biener
On Tue, Aug 11, 2015 at 12:40 PM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, This just cleans things up slightly by removing typedefs that don't serve any real purpose in C++. If people don't object I'll go through and try and remove as many

[PATCH] 1/n remove useless typedefs

2015-08-11 Thread tbsaunde+gcc
From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, This just cleans things up slightly by removing typedefs that don't serve any real purpose in C++. If people don't object I'll go through and try and remove as many more similarly useless typedefs as I can. bootstrapped + regtest

AW: [Bug fortran/52846] [F2008] Support submodules - part 3/3

2015-08-11 Thread Bader, Reinhold
Hello Paul, To my knowledge, the J3 interp F08/128 was triggered by a question coming from Bill Long from Cray. The interp's text was written by the Fortran standard's editor. So there is no direct relation to this thread. F08/0142 (useless submodules) was in turn triggered by the example

Re: [PR16107] Convert cos (-x) into cos (x)

2015-08-11 Thread Richard Biener
On Fri, Aug 7, 2015 at 10:55 AM, Uros Bizjak ubiz...@gmail.com wrote: Hello! Please find attached the patch pr16107.patch that converts the pattern:-cos (-x) - cos (x) Please review and let me know if its okay. +/* { dg-do compile } */ +/* { dg-options -O2 -fdump-tree-optimized } */ +/*

Re: [PATCH] simple fix for vector/vector shift.

2015-08-11 Thread Richard Biener
On Tue, Aug 11, 2015 at 2:50 PM, Yuri Rumyantsev ysrum...@gmail.com wrote: Hi All, Here is 1-line patch which allows to vectorize shift by inductive variable for targets supporting vector/vector shift. Test-case is attached. Bootstrap and regression testing did not show new failures. Is it

Re: [PATCH] Improve stmt folding with match-and-simplify

2015-08-11 Thread Marek Polacek
On Wed, Jul 29, 2015 at 09:44:36AM +0200, Richard Biener wrote: @@ -3547,6 +3566,27 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, maybe_canonicalize_mem_ref_addr (lhs)) changed = true; } + else + { + /* Canonicalize operand order. */ + enum

Re: [Bug fortran/52846] [F2008] Support submodules - part 3/3

2015-08-11 Thread Paul Richard Thomas
Dear All, Has this been occasioned by this thread or have other makes encountered the same difficulty in implementation? Cheers Paul On 10 August 2015 at 20:57, Bader, Reinhold reinhold.ba...@lrz.de wrote: Hello Toon, all else, a bit unfortunate, in my opinion (I was present at the

Re: PR c/c++/diagnostics/66098 Take -Werror into account when deciding what was the command-line status

2015-08-11 Thread Marek Polacek
On Thu, Jul 30, 2015 at 05:35:39PM +0200, Manuel López-Ibáñez wrote: When I fixed PR59304, I forgot that a command-line warning can be also an error if -Werror was enabled. This introduced a regression since anything enabled in the command-line together with -Werror would get initially

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

2015-08-11 Thread Matthew Wahab
The Aarch64 backend implements the atomic operations on memory with the same patterns iterated over logical and arithmetic operation. It also specifies constraints on an operand for the operations but the constraints used are only valid for the logical operations. This can lead to an ICE, with

Re: [PATCH] Improve stmt folding with match-and-simplify

2015-08-11 Thread Richard Biener
On Tue, 11 Aug 2015, Marek Polacek wrote: On Wed, Jul 29, 2015 at 09:44:36AM +0200, Richard Biener wrote: @@ -3547,6 +3566,27 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, maybe_canonicalize_mem_ref_addr (lhs)) changed = true; } + else + { + /*

[COMMITTED][AArch64] Add the missing , for enumeration element

2015-08-11 Thread Jiong Wang
Jiong Wang writes: Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)':

Re: [PR25529] Convert (unsigned t * 2)/2 into unsigned (t 0x7FFFFFFF)

2015-08-11 Thread Richard Biener
On Fri, Aug 7, 2015 at 10:43 AM, Hurugalawadi, Naveen naveen.hurugalaw...@caviumnetworks.com wrote: Hi, extend it - it should also work for non-INTEGER_CST divisors and it should work for any kind of division, not just exact_div. Please find attached the patch pr25529.patch that implements

[PATCH] simple fix for vector/vector shift.

2015-08-11 Thread Yuri Rumyantsev
Hi All, Here is 1-line patch which allows to vectorize shift by inductive variable for targets supporting vector/vector shift. Test-case is attached. Bootstrap and regression testing did not show new failures. Is it OK for trunk? ChangeLog: 2015-08-11 Yuri Rumyantsev ysrum...@gmail.com *

Re: [optimize 1/3] Fix phi to min/max

2015-08-11 Thread Richard Biener
On Mon, 10 Aug 2015, Nathan Sidwell wrote: Richard, This patch fixes the problem I described earlier about min/max generation propagating incorrect range information (https://gcc.gnu.org/ml/gcc/2015-08/msg00024.html). I went with creating a new name, if the PHI being modified has more

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

2015-08-11 Thread Richard Biener
On Mon, 10 Aug 2015, Nathan Sidwell wrote: Richard. this is the patch for the min/max optimization I was trying to implement before getting sidetracked with the phi bug and cleaning the vrp abs optimization. This patch checks both min and max where both operands have a determined range,

Re: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-08-11 Thread Maxim Blumental
Review the patches in the previous letter, please. 2015-08-06 17:34 GMT+03:00 Maxim Blumental bvm...@gmail.com: Applied the idea with python script alternative. Review, please. -- - Sincerely yours, Maxim Blumental

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

2015-08-11 Thread Matthew Wahab
On 11/08/15 14:05, Matthew Wahab wrote: Tested for arm-none-eabi with cross-compiled check-gcc and for arm-none-linux-gnueabihf with native bootstrap and make check. This should have said: Tested for aarch64-none-eabi with cross-compiled check-gcc and for aarch64-none-linux-gnu with native

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

2015-08-11 Thread James Greenhalgh
On Tue, Aug 11, 2015 at 02:05:37PM +0100, Matthew Wahab wrote: The Aarch64 backend implements the atomic operations on memory with the same patterns iterated over logical and arithmetic operation. It also specifies constraints on an operand for the operations but the constraints used are only

Re: Fix two more memory leaks in threader

2015-08-11 Thread Jeff Law
On 08/11/2015 12:16 AM, Uros Bizjak wrote: Hello! +2015-08-03 Jeff Law l...@redhat.com + + PR middle-end/66314 + PR gcov-profile/66899 + * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly + iterate over the jump threading paths when an element in the + jump threading paths array is

Re: [PATCH] Fix ubsan tree sharing (PR sanitizer/66908)

2015-08-11 Thread Marek Polacek
On Wed, Jul 22, 2015 at 07:26:22PM +0200, Marek Polacek wrote: In this testcase we were generating an uninitialized variable when doing -fsanitize=shift,bounds sanitization. The shift instrumentation is done first; after that, the IR looks like res[i] = (m 31) ? __ubsan (... tab[i] ...)

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

2015-08-11 Thread Jeff Law
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 insn_valid_noce_process_p. If there wasn't, then we'd probably be looking to use note_stores

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

2015-08-11 Thread Uros Bizjak
On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak ubiz...@gmail.com wrote: Attached patch fixes: Makefile:871: warning: overriding recipe for target 'gjdoc' Makefile:786: warning: ignoring old recipe for target 'gjdoc' build warning when compiling libjava. The problem was in configure.ac: we

[PATCH, i386]: PR 66954, function multiversioning for target pclmul

2015-08-11 Thread Uros Bizjak
This patch adds multiversioning for target pclmul, after similar patch has been committed for multiversioning for taget aes. libgcc/ChangeLog: 2015-08-11 Uros Bizjak ubiz...@gmail.com PR target/66954 * config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.

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

2015-08-11 Thread Kyrill Tkachov
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 insn_valid_noce_process_p. If there wasn't, then we'd

[gomp4] signed nums are better for dimensions

2015-08-11 Thread Nathan Sidwell
This patch does a number of things. 1) signed results from the DIM_SIZE and DIM_POS internal fns are better. The rest of the loop machinery uses signed ints -- to show overflow is undefined. Returning unsigned simply caused an unsigned-signed conversion and subsequent confusion. 2) We

Re: [PATCH] simple fix for vector/vector shift.

2015-08-11 Thread Uros Bizjak
Here is 1-line patch which allows to vectorize shift by inductive variable for targets supporting vector/vector shift. Test-case is attached. Bootstrap and regression testing did not show new failures. Is it OK for trunk? Ok. I have removed unneeded and now harmful dg-directives from the

[PATCH] Don't create superfluous parm in expand_omp_taskreg

2015-08-11 Thread Tom de Vries
[ 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 05/08/15 09:29, Richard Biener wrote: This patch fixes that

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

2015-08-11 Thread Jeff Law
On 08/11/2015 12:03 PM, Uros Bizjak wrote: On Fri, Aug 7, 2015 at 1:21 PM, Uros Bizjak ubiz...@gmail.com wrote: Attached patch fixes: Makefile:871: warning: overriding recipe for target 'gjdoc' Makefile:786: warning: ignoring old recipe for target 'gjdoc' build warning when compiling

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

2015-08-11 Thread Jeff Law
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. However debugging code in the anon

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

2015-08-11 Thread Jeff Law
On 08/11/2015 01:24 PM, Andrew Haley wrote: On 08/11/2015 07:54 PM, Jeff Law wrote: It's probably time for the occasional discussion WRT dropping gcj/libjava from the default languages and replace them with either Ada or Go. gcj/libjava are dead IMHO. I have no objections. GCJ has been

Re: [PATCH 1/2] add GCC_FINAL to ansidecl.h

2015-08-11 Thread Jeff Law
On 08/10/2015 06:05 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders tbsaunde+...@tbsaunde.org Hi, This allows classes and virtual functions to be marked as final if the compiler supports C++11, or is gcc 4.7 or later. bootstrapped + regtested on x86_64-linux-gnu, ok? Trev

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

2015-08-11 Thread Caroline Tice
When bootstrapping on darwin with vtable verificaiton enabled, libstdc++ is giving a lot of warnings due to a flag in VTV_CXXLINKFLAGS that has a slightly different format for darwin than for linux. This patch (actually contributed by Eric Gallager) fixes the problem. I have tested this patch

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

2015-08-11 Thread Andrew Haley
On 08/11/2015 07:54 PM, Jeff Law wrote: It's probably time for the occasional discussion WRT dropping gcj/libjava from the default languages and replace them with either Ada or Go. gcj/libjava are dead IMHO. I have no objections. GCJ has been tremendously useful bootstrapping the OpenJDK

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

2015-08-11 Thread Caroline Tice
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 fix the rpath flag to work properly for darwin.

Re: PR c/c++/diagnostics/66098 Take -Werror into account when deciding what was the command-line status

2015-08-11 Thread Jeff Law
On 08/10/2015 08:37 AM, Manuel López-Ibáñez wrote: PING^2: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02581.html On 3 August 2015 at 20:47, Manuel López-Ibáñez lopeziba...@gmail.com wrote: PING: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02581.html Thanks, Manuel. On 30 July 2015 at

Re: Fix reload1.c warning for some targets

2015-08-11 Thread Jeff Law
On 08/05/2015 11:32 AM, Richard Sandiford wrote: and I don't see how GCC could prove that eliminate_regs_1 doesn't modify the value of recog_data.n_dups between the two loops. eliminate_regs_1 calls functions like plus_constant that are defined outside the TU and that certainly aren't

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

2015-08-11 Thread Jeff Law
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 Morinmik...@gcc.gnu.org * hwint.h (sext_hwi): Rewrite without undefined

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

2015-08-11 Thread Nathan Sidwell
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_conditional_warnv_with_ops_using_ranges which actually implements a

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

2015-08-11 Thread Mike Stump
On Aug 11, 2015, at 12:08 PM, Caroline Tice cmt...@google.com wrote: When bootstrapping on darwin with vtable verificaiton enabled, libstdc++ is giving a lot of warnings due to a flag in VTV_CXXLINKFLAGS that has a slightly different format for darwin than for linux. This patch (actually

Go patch committed: Don't create void-typed temporaries

2015-08-11 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to not create a temporary with void type. This fixes https://golang.org/issue/11568 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

[PATCH 11/15] aarch64: Use hashing infrastructure for generating constants

2015-08-11 Thread Richard Henderson
Aside from the hashing, and the splitting of insn generation from recipe creation, there's no algorithmic change. Cc: Marcus Shawcroft marcus.shawcr...@arm.com Cc: Richard Earnshaw richard.earns...@arm.com --- * config/aarch64/aarch64.c: Include genimm-hash.h (aa_gi_code): New

[PATCH 13/15] alpha: Use hashing infrastructure for generating constants

2015-08-11 Thread Richard Henderson
--- * config/alpha/alpha.c: Include genimm-hash.h (genimm_alpha): New class. (genimm_alpha::genimm_alpha): New. (genimm_alpha::set0, genimm_alpha::opN): New. (genimm_alpha::exam_simple): New. (genimm_alpha::exam_sub): New.

[PATCH 14/15] alpha: Split out alpha_cost_set_const

2015-08-11 Thread Richard Henderson
Now that it's easy, avoid the no_output parameter to alpha_emit_set_const. --- * config/alpha/alpha.c (alpha_cost_set_const): New. (alpha_legitimate_constant_p): Use it (alpha_emit_set_const): Remove no_output param. (alpha_split_const_mov): Update call.

[PATCH 12/15] aarch64: Test for duplicated 32-bit halves

2015-08-11 Thread Richard Henderson
Cc: Marcus Shawcroft marcus.shawcr...@arm.com Cc: Richard Earnshaw richard.earns...@arm.com --- * config/aarch64/aarch64.c (AA_GI_DUP): New. (genimm_aa64::exam_full): Test for equal 32-bit parts. (genimm_aa64::generate): Handle AA_GI_DUP. --- gcc/config/aarch64/aarch64.c |

[PATCH 15/15] alpha: Remove alpha_emit_set_long_const

2015-08-11 Thread Richard Henderson
It's functionality now folded into alpha_emit_set_const. --- * config/alpha/alpha.c (alpha_emit_set_long_const): Remove. (alpha_split_const_mov): Don't call it. (alpha_expand_epilogue): Likewise. (alpha_output_mi_thunk_osf): Likewise. --- gcc/config/alpha/alpha.c |

[committed, testsuite] Fix vect/trapv-vect-reduc-4.c for sparc

2015-08-11 Thread Tom de Vries
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 sparc by Rainer. Committed as obvious. Thanks, - Tom Fix vect/trapv-vect-reduc-4.c for sparc 2015-08-12 Tom de

[PATCH] xtensa: add -mauto-litpools option

2015-08-11 Thread Max Filippov
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 deal with literals used from multiple locations separated by

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

2015-08-11 Thread Tom Tromey
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 writing new features for it or fixing bugs.

[PATCH 02/15] rs6000: Make num_insns_constant_wide static

2015-08-11 Thread Richard Henderson
Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000-protos.h (num_insns_constant_wide): Move... * config/rs6000/rs6000.c: ... prototype here. Make static. --- gcc/config/rs6000/rs6000-protos.h | 1 - gcc/config/rs6000/rs6000.c| 3 ++- 2 files changed, 2

[PATCH 01/15] rs6000: Split out rs6000_is_valid_and_mask_wide

2015-08-11 Thread Richard Henderson
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. (rs6000_is_valid_and_mask_wide): Split out from...

[PATCH 05/15] rs6000: Move constant via mask into build_set_const_data

2015-08-11 Thread Richard Henderson
No need to special-case this in several places anymore. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (num_insns_constant): Remove test for rs6000_is_valid_and_mask. (genimm_ppc::exam_mask): New. (genimm_ppc::exam_search): Use it.

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

2015-08-11 Thread Richard Henderson
Save 2 insns for constants like 0x where the low 32-bits can be replicated to the high 32-bits. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (genimm_ppc::exam_search): Check for two equal 32-bit pieces. (genimm_ppc::generate): Handle

[PATCH 03/15] rs6000: Tidy num_insns_constant vs CONST_DOUBLE

2015-08-11 Thread Richard Henderson
After the fact I noticed this does temporarily remove the rs6000_is_valid_and_mask test from the DFmode path, but that will be fixed shortly. And it was missing from the SFmode path the whole time. Cc: David Edelsohn dje@gmail.com --- * config/rs6000/rs6000.c (num_insns_constant):

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

2015-08-11 Thread Richard Henderson
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 the way that aarch64 and alpha have done it in the