Fix 59828 - Broken assembly on ppc* with two -mcpu= options

2014-01-17 Thread Alan Modra
This patch cures PR59828 by translating all the -mcpu options at once, in order, to their equivalent assembler -m options by using a new spec function. In the process this removes some duplication. All the rhs of -mcpu= options from the command line can be extracted with %{mcpu=*:%*}, and then pa

[committed] PATCH: Fix a comment typo in ix86_split_lea_for_addr

2014-01-17 Thread H.J. Lu
Hi, I checked in this patch as an obvious fix to correct a comment typo in ix86_split_lea_for_addr. The line below the comments is gcc_assert (regno2 != regno0); There is no way for r1 = r1 + C * r1. It should be r1 = r1 + C * r2. H.J. --- Index: ChangeLog

Re: [patch] Pass -fuse-ld=gold to gccgo on targets supporting -fsplit-stack

2014-01-17 Thread Ian Lance Taylor
On Fri, Nov 29, 2013 at 5:29 AM, Matthias Klose wrote: > to get full advantage of the -fsplit-stack option, gccgo binaries have to be > linked with gold, not the bfd linker. When the system linker defaults to the > bfd linker, then gccgo should explicitly use the gold linker, passing > fuse-ld=go

[committed] Fix long call support for indirect calls on hppa

2014-01-17 Thread John David Anglin
The attached change fixes a problem detected building gcl. A short call to $$dyncall was sometimes output when doing long call sequences. This caused a link error. Tested on hppa2.0-hp-hpux11.11, hppa64-hp-hpux11.11 and hppa-unknown- linux-gnu. Committed to active branches. Dave -- John D

Re: Allow passing arrays in registers on AArch64

2014-01-17 Thread Michael Hudson-Doyle
Ian Lance Taylor writes: > On Fri, Jan 17, 2014 at 11:32 AM, Michael Hudson-Doyle > wrote: >> >> On 18 Jan 2014 07:50, "Yufeng Zhang" wrote: >>> >>> Also can you please try to add some new test(s)? It may not be that >>> straightforward to add non-C/C++ tests, but give it a try. >> >> Can you

Re: [patch] fix doc header in contrib/mklog

2014-01-17 Thread Diego Novillo
The patch is OK. It qualifies as obvious, too. Thanks. On Thu, Jan 16, 2014 at 6:44 AM, Jonathan Wakely wrote: > The mklog script claims to write to stdout, but it actually modifies > the input file in-place. > > OK to commit this change, which also updates the copyright dates?

Re: [PING][PATCH]Improving mklog [was: Re: RFC Asan instrumentation control]

2014-01-17 Thread Diego Novillo
Apologies for the delay. The patch is OK. On Thu, Jan 16, 2014 at 12:59 AM, Tatiana Udalova wrote: > Ping! > > Thank you, > Tatiana Udalova > > > -- > > Hello, > > I have reproduced the problem with mklog mentioned by Jakub: > >> In my experience mklog is pretty much useless, e.g. if you

Re: [GOOGLE] Restrict the count_scale to be no larger than 100%

2014-01-17 Thread Xinliang David Li
Can callgraph node count be fixed up properly instead of doing individual fixups like this? David On Fri, Jan 17, 2014 at 2:38 PM, Dehao Chen wrote: > In AutoFDO, sometime edge count might be propagated to be too large > due to bad debug info. In this cases, we need to make sure the count > scal

libgo patch committed: Align variable on 8-byte boundary

2014-01-17 Thread Ian Lance Taylor
This patch to libgo aligns the variable work in mgc0.c on an 8-byte boundary. The code expects that to be the case, and complains if it is not aligned. It would already be the case on a 64-bit system, but not necessarily on a 32-bit system. I haven't been able to recreate PR 59866, but I think t

[GOOGLE] Restrict the count_scale to be no larger than 100%

2014-01-17 Thread Dehao Chen
In AutoFDO, sometime edge count might be propagated to be too large due to bad debug info. In this cases, we need to make sure the count scale is no larger than 100% otherwise it'll make real hot code cold. Bootstrapped and passed regression test. Performance test on-going. OK for google-4_8 if p

Re: [RFA] [PATCH][PR tree-optimization/59749] Fix recently introduced ree bug

2014-01-17 Thread Jeff Law
On 01/17/14 14:51, Jeff Law wrote: Anyway, I clearly need to rethink that test. Given this is something we haven't seen in the wild, I'm going to disable it over the weekend/monday so that enable-checking bugs pass and continue to ponder. And the patch which disables the test. jeff com

Re: [RFA] [PATCH][PR tree-optimization/59749] Fix recently introduced ree bug

2014-01-17 Thread Jeff Law
On 01/16/14 15:07, Jakub Jelinek wrote: On Thu, Jan 16, 2014 at 02:31:09PM -0700, Jeff Law wrote: +2014-01-16 Jeff Law + + * ree.c (combine_set_extension): Correct test for changing number + of hard registers when widening a reaching definition. + 2014-01-16 Bernd Schmidt

Re: Fix bootstrap with -mno-accumulate-outgoing-args

2014-01-17 Thread Jan Hubicka
> * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove > ARG_SIZE note when adjustment was eliminated. Ping... This patch prevents me from switching the accumulate-args default for generic and I am waiting for that witht he inliner tunning, so there is quite a dependenc

Re: [RFA] [PATCH][PR tree-optimization/59749] Fix recently introduced ree bug

2014-01-17 Thread Jeff Law
On 01/17/14 01:41, Eric Botcazou wrote: Bootstrapped & regression tested on x86_64-unknown-linux. Also bootstrapped with --enable-checking=rtl. Note that you can do only one bootstrap with --enable-checking=yes,rtl. Installed on the trunk. As far as I can see, no, it was not installed. Pi

Re: [google gcc-4_8] port gcov-tool to gcc-4_8

2014-01-17 Thread Xinliang David Li
Ok for google branch. It might be good to think about adding regression tests (similar to those gcov tests under g++.dg/gcov, but handling multiple files). David On Fri, Jan 17, 2014 at 12:59 PM, Rong Xu wrote: > last attachment is not the complete patch. Re-send again. > > On Fri, Jan 17, 2014

PR middle-end/58125

2014-01-17 Thread Jan Hubicka
Hi, this patch fixes no longer reproducing ICE where we try to free summary of alias but we never allocate one. Bootstrapped/regtested x86_64-linux, comitted. Index: ChangeLog === --- ChangeLog (revision 206732) +++ ChangeLog (wor

Re: [google gcc-4_8] port gcov-tool to gcc-4_8

2014-01-17 Thread Rong Xu
Do we have to split params.def? I can include params.h and link in params.o (a special version as we don't have some global vars). As for lipo_cutoff, I think we don't need a special handling -- we should use the default value of 100 and let logic in dyn-ipa.c takes care of the rest. Please find

Re: [wide-int] resolve bootstrap issue

2014-01-17 Thread Mike Stump
On Jan 16, 2014, at 2:55 AM, Richard Sandiford wrote: >>> Why did you need the ? It was supposed to work without. >> >> The code in question needs something that is max int + max significand >> real in size, we made the max int smaller (smaller than this quantity on >> x86) so, this code needs

Re: [PATCH] FIx up ANNOTATE_EXPR gimplification (PR middle-end/59706)

2014-01-17 Thread Richard Biener
Jakub Jelinek wrote: >Hi! > >When gimplifying ANNOTATE_EXPR, gimplify_expr used create_tmp_var_raw, >which unfortunately (among tons of other desirable things) doesn't set >DECL_CONTEXT on the temporary var and tree-nested.c then ICEs on it >because of that. The following patch fixes that. Unfor

[gomp4] Generalize mapping functions for future OpenACC runtime library usage.

2014-01-17 Thread James Norris
Hi! Here is a patch that changes the mapping functions to use functions defined with the device descriptor. These changes generalize the mapping functions so that they can be used by the soon to be added OpenACC Runtime functions. These changes assume that the previous set of changes described i

Re: [google gcc-4_8] port gcov-tool to gcc-4_8

2014-01-17 Thread Xinliang David Li
For LIPO parameters, you can do this 1) isolate all LIPO specific parameters into lipo_params.def, and include it from params.def. 2) include lipo_params.def (after proper definition of DEFPARAM) in the profile tool source dir. By so doing, the compiler setting and profile tool will be in sync. (U

[PATCH] FIx up ANNOTATE_EXPR gimplification (PR middle-end/59706)

2014-01-17 Thread Jakub Jelinek
Hi! When gimplifying ANNOTATE_EXPR, gimplify_expr used create_tmp_var_raw, which unfortunately (among tons of other desirable things) doesn't set DECL_CONTEXT on the temporary var and tree-nested.c then ICEs on it because of that. The following patch fixes that. Unfortunately, on the second (inv

[PATCH] Avoid -Wunused-macros warning for #pragma GCC target added macros (PR target/58944)

2014-01-17 Thread Jakub Jelinek
Hi! It makes no sense to warn about unused macros that weren't defined by the user, but the compiler instead injected them, the user has no control on them. For macros predefined at the beginning of the CU we don't get warnings because they don't match MAIN_FILE_P, but macros added for #pragma GCC

Re: Allow passing arrays in registers on AArch64

2014-01-17 Thread Ian Lance Taylor
On Fri, Jan 17, 2014 at 11:32 AM, Michael Hudson-Doyle wrote: > > On 18 Jan 2014 07:50, "Yufeng Zhang" wrote: >> >> Also can you please try to add some new test(s)? It may not be that >> straightforward to add non-C/C++ tests, but give it a try. > > Can you give some hints? Like at least where i

Re: PATCH: PR target/59794: [4.7/4.8/4.9 Regression] i386 backend fails to detect MMX/SSE/AVX ABI changes

2014-01-17 Thread H.J. Lu
On Tue, Jan 14, 2014 at 8:12 AM, Uros Bizjak wrote: > On Tue, Jan 14, 2014 at 3:18 PM, H.J. Lu wrote: > >> There are several problems with i386 MMX/SSE/AVX ABI change detection: >> >> 1. MMX/SSE return value isn't checked for -m32 since revision 83533: >> >> http://gcc.gnu.org/viewcvs/gcc?view=re

Re: Allow passing arrays in registers on AArch64

2014-01-17 Thread Yufeng Zhang
Hi Michael, Thanks for the fix. The patch looks OK to me in general, although I have some minor comments below. On 01/17/14 08:22, Michael Hudson-Doyle wrote: Hi, as discussed inhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 GCC currently gets a detail of the AArch64 ABI wrong: arrays are

Re: [Patch, cilk, C++] Fix cilk testsuite failure

2014-01-17 Thread Steve Ellcey
On Fri, 2014-01-17 at 08:23 +, Richard Sandiford wrote: > > I think it'd be more direct to check the register class, since we used > to store CCmode in GPRs too. I.e. ST_REGNO_P (XEXP (op, 0)). > > OK with that change, thanks. Please backport to 4.8 too. > > Richard I assume you meant ST

Re: PATCH: PR middle-end/59789: [4.9 Regression] ICE in in convert_move, at expr.c:333

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 8:42 AM, Jan Hubicka wrote: >> For this testcase, we get CIF_TARGET_OPTION_MISMATCH. >> Do you want to add a new flag so that inliner can use for >> other errors? > > Just add flags parameter to DEFCIFCODE in cif-code.def > and flag those that are final and should be output

Re: [GOMP4][PATCH] SIMD-enabled functions (formerly Elemental functions) for C++

2014-01-17 Thread Jakub Jelinek
On Thu, Dec 19, 2013 at 06:12:29PM +, Iyer, Balaji V wrote: > 2013-12-19 Balaji V. Iyer > > * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled > see if there is an attribute after function decl. If so, then > parse them now. > (cp_parser_lat

Re: [PATCH, PR 59736] Fix an IPA-CP issue with de-speculation

2014-01-17 Thread Jan Hubicka
> Hi, > > in PR 59736, IPA-CP stumples on an already removed call graph edge. > The reason is that it keeps an internal linked list of edge clones > which can however now be corrupted by cgraph de-speculation machinery > which can decide to remove an edge. > > In order to fix this, I made the lin

Re: [GOOGLE] don't overwrite precomputed loop bound in AutoFDO

2014-01-17 Thread Xinliang David Li
Ok. David On Fri, Jan 17, 2014 at 9:08 AM, Dehao Chen wrote: > If a loop is cunrolled/vectorized, the AutoFDO computed trip count > will be very small. This patch disallows overwritting of precomputed > loop bound in AutoFDO mode. > > Bootstrapped and passed regression test. Performance test on-

Re: [C++ Patch] PR 59270

2014-01-17 Thread Paolo Carlini
On 01/17/2014 06:02 PM, Jason Merrill wrote: OK. Thanks. Does returning error_mark_node from build_value_init in the case of erroneous type not work? Yeah, doesn't work in the sense that we regress to two errors instead of one (like in 4.8.x) on that testcase I mentioned at the beginning of t

[PATCH, PR 59736] Fix an IPA-CP issue with de-speculation

2014-01-17 Thread Martin Jambor
Hi, in PR 59736, IPA-CP stumples on an already removed call graph edge. The reason is that it keeps an internal linked list of edge clones which can however now be corrupted by cgraph de-speculation machinery which can decide to remove an edge. In order to fix this, I made the linked-list bi-dire

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 7:11 AM, Uros Bizjak wrote: > BTW: There are some ix86_tune == XXX conditions scattered throughout > LEA handling code. Can these be substituted with appropriate TARGET_* > defines? > > Uros. This is the patch I checked in. Thanks. -- H.J. --- diff --git a/gcc/ChangeLog

[GOOGLE] don't overwrite precomputed loop bound in AutoFDO

2014-01-17 Thread Dehao Chen
If a loop is cunrolled/vectorized, the AutoFDO computed trip count will be very small. This patch disallows overwritting of precomputed loop bound in AutoFDO mode. Bootstrapped and passed regression test. Performance test on-going. OK for Google branches? Thanks, Dehao Index: tree-ssa-loop-nite

Re: [C++ Patch] PR 59270

2014-01-17 Thread Jason Merrill
OK. Does returning error_mark_node from build_value_init in the case of erroneous type not work? Jason

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 7:55 AM, H.J. Lu wrote: > On Fri, Jan 17, 2014 at 7:36 AM, Uros Bizjak wrote: >> On Fri, Jan 17, 2014 at 4:17 PM, H.J. Lu wrote: >> BTW: There are some ix86_tune == XXX conditions scattered throughout LEA handling code. Can these be substituted with appropriate

Re: PATCH: PR middle-end/59789: [4.9 Regression] ICE in in convert_move, at expr.c:333

2014-01-17 Thread Jan Hubicka
> For this testcase, we get CIF_TARGET_OPTION_MISMATCH. > Do you want to add a new flag so that inliner can use for > other errors? Just add flags parameter to DEFCIFCODE in cif-code.def and flag those that are final and should be output already in early inlining. This way we will not forget to in

Re: [PATCH, go]: Skip some go tests

2014-01-17 Thread Ian Lance Taylor
On Fri, Jan 17, 2014 at 8:32 AM, Matthias Klose wrote: > Am 09.01.2014 18:11, schrieb Uros Bizjak: >> On Thu, Jan 9, 2014 at 4:01 PM, Ian Lance Taylor wrote: >>> On Thu, Jan 9, 2014 at 2:54 AM, Uros Bizjak wrote: 2014-01-09 Uros Bizjak * go.test/go-test.exp (go-gc-test

Re: [PATCH, go]: Skip some go tests

2014-01-17 Thread Matthias Klose
Am 09.01.2014 18:11, schrieb Uros Bizjak: > On Thu, Jan 9, 2014 at 4:01 PM, Ian Lance Taylor wrote: >> On Thu, Jan 9, 2014 at 2:54 AM, Uros Bizjak wrote: >>> >>> 2014-01-09 Uros Bizjak >>> >>> * go.test/go-test.exp (go-gc-tests): Don't run peano.go on systems >>> which don't support -f

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 4:26 PM, Jakub Jelinek wrote: > On Fri, Jan 17, 2014 at 04:24:50PM +0100, Uros Bizjak wrote: >> On Fri, Jan 17, 2014 at 3:50 PM, H.J. Lu wrote: >> > >> > Wrong example. It should be >> > >> > lea 0x400(%edx, %ecx, 8), %edx >> > >> > we get >> > >> > add %ecx, %edx >> > ad

Re: [Patch, AArch64] Relax CANNOT_CHANGE_MODE_CLASS.

2014-01-17 Thread Richard Earnshaw
On 16/01/14 18:22, Tejas Belagod wrote: > Tejas Belagod wrote: >> Tejas Belagod wrote: >>> Hi, >>> >>> Currently, CANNOT_CHANGE_MODE_CLASS is too restrictive wrt the mode-changes >>> it >>> allows on FPREGs - it allows none at the moment. In fact, there are many >>> mode >>> changes that are sa

Re: [Patch AArch64] Implement Vector Permute Support

2014-01-17 Thread Richard Earnshaw
On 16/01/14 14:43, Alex Velenko wrote: > On 14/01/14 15:51, pins...@gmail.com wrote: >> >> >>> On Jan 14, 2014, at 7:19 AM, Alex Velenko wrote: >>> >>> Hi, >>> >>> This patch turns off the vec_perm patterns for aarch64_be, this should >>> resolve >>> the issue highlighted here >>> http://gcc.gn

Re: PATCH: PR middle-end/59789: [4.9 Regression] ICE in in convert_move, at expr.c:333

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 7:35 AM, Jan Hubicka wrote: >> > diff --git a/gcc/ChangeLog b/gcc/ChangeLog >> > index 5c674bc..284bc66 100644 >> > --- a/gcc/ChangeLog >> > +++ b/gcc/ChangeLog >> > @@ -1,3 +1,12 @@ >> > +2014-01-13 Sriraman Tallam >> > + H.J. Lu >> > + >> > + PR middl

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 7:36 AM, Uros Bizjak wrote: > On Fri, Jan 17, 2014 at 4:17 PM, H.J. Lu wrote: > >>> BTW: There are some ix86_tune == XXX conditions scattered throughout >>> LEA handling code. Can these be substituted with appropriate TARGET_* >>> defines? >> >> I have been looking at them

Re: [committed] Honza's alias/weakref fix (PR c++/57945)

2014-01-17 Thread Jan Hubicka
> Hi! > > I've bootstrapped/regtested on x86_64-linux and i686-linux > following patch from Honza from the PR comment (written a month > ago, acked by Jason a fortnight ago) and committed it to trunk. > > 2014-01-17 Jan Hubicka > > PR c++/57945 > * passes.c (rest_of_decl_compilati

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 4:17 PM, H.J. Lu wrote: >> BTW: There are some ix86_tune == XXX conditions scattered throughout >> LEA handling code. Can these be substituted with appropriate TARGET_* >> defines? > > I have been looking at them closely to check their impacts on > both Haswell and Silverm

Re: PATCH: PR middle-end/59789: [4.9 Regression] ICE in in convert_move, at expr.c:333

2014-01-17 Thread Jan Hubicka
> > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > > index 5c674bc..284bc66 100644 > > --- a/gcc/ChangeLog > > +++ b/gcc/ChangeLog > > @@ -1,3 +1,12 @@ > > +2014-01-13 Sriraman Tallam > > + H.J. Lu > > + > > + PR middle-end/59789 > > + * tree-inline.c (report_early_inliner_

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Jakub Jelinek
On Fri, Jan 17, 2014 at 04:24:50PM +0100, Uros Bizjak wrote: > On Fri, Jan 17, 2014 at 3:50 PM, H.J. Lu wrote: > > > > Wrong example. It should be > > > > lea 0x400(%edx, %ecx, 8), %edx > > > > we get > > > > add %ecx, %edx > > add %ecx, %edx > > add %ecx, %edx > > add %ecx, %edx > > add %ecx, %e

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 3:50 PM, H.J. Lu wrote: > > Wrong example. It should be > > lea 0x400(%edx, %ecx, 8), %edx > > we get > > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add $0x400, %edx Even for this

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 7:11 AM, Uros Bizjak wrote: > On Fri, Jan 17, 2014 at 3:46 PM, H.J. Lu wrote: > ix86_split_lea_for_addr transforms a single LEA instruction into a series of MOV and ADD instructions. For lea 0x400(%eax, %ecx, 8), %edx we get mov %ea

Re: [C++ PATCH] Don't segv in cvt.c (PR c++/59838)

2014-01-17 Thread Jason Merrill
OK. Jason

Re: [C++ Patch] PR 59269

2014-01-17 Thread Jason Merrill
OK. Jason

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 3:46 PM, H.J. Lu wrote: >>> ix86_split_lea_for_addr transforms a single LEA instruction into a series >>> of MOV and ADD instructions. For >>> >>> lea 0x400(%eax, %ecx, 8), %edx >>> >>> we get >>> >>> mov %eax, %edx >>> add %ecx, %edx >>> add %ecx, %edx >>> add %ecx, %edx

[patch] fix libstdc++/56267 - local iterator requirements

2014-01-17 Thread Jonathan Wakely
The issue in PR 56267 is that unordered_xxx::local_iterator sometimes inherits from the user-defined hash function (via _Hash_code_base, which inherits from the hash function to use the EBO), and local_iterator must be DefaultConstructible and Assignable, even when the hash function isn't. My solu

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 6:30 AM, Jakub Jelinek wrote: > On Fri, Jan 17, 2014 at 06:19:37AM -0800, H.J. Lu wrote: >> ix86_split_lea_for_addr transforms a single LEA instruction into a series >> of MOV and ADD instructions. For >> >> lea 0x400(%eax, %ecx, 8), %edx >> >> we get >> >> mov %eax, %edx

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
On Fri, Jan 17, 2014 at 6:23 AM, Uros Bizjak wrote: > On Fri, Jan 17, 2014 at 3:19 PM, H.J. Lu wrote: >> ix86_split_lea_for_addr transforms a single LEA instruction into a series >> of MOV and ADD instructions. For >> >> lea 0x400(%eax, %ecx, 8), %edx >> >> we get >> >> mov %eax, %edx >> add %ec

Re: [PATCH] Fix up gen-vect-32.c testcase (PR testsuite/58776)

2014-01-17 Thread Richard Biener
On Fri, 17 Jan 2014, Jakub Jelinek wrote: > Hi! > > For -O2 vectorization by default GCC 4.9 uses the cheap cost model, > which disallows e.g. peeling for alignment, but on strict alignment > targets the loop needs to be peeled for alignment, otherwise vectorization > isn't performed. > > Fixed

Re: [Patch][AArch64] vneg floating point testcase BE fixed

2014-01-17 Thread Richard Earnshaw
On 17/01/14 14:22, Alex Velenko wrote: > Hi, > Here are some more improvements on changelog entry: > > gcc/testsuite/ > > 2013-01-16 Alex Velenko > > * gcc.target/aarch64/vneg_f.c (STORE_INST): New macro. > (RUN_TEST): Use new macro. > (INDEX64_32): Delete. > (INDEX64_

Re: [PATCH] Handle NAMELIST_DECLs in tree-nested (PR fortran/59440)

2014-01-17 Thread Richard Biener
On Fri, 17 Jan 2014, Jakub Jelinek wrote: > Hi! > > The following testcases ICE, because when tree-nested.c replaces > various decls in the functions with local or nonlocal alternative decls > and makes the old ones DECL_IGNORED_P, decls inside of NAMELIST_DECL > NAMELIST_DECL_ASSOCIATED_DECL are

Re: [PATCH] Fix up ivdep/do concurrent testcases (PR testsuite/59064)

2014-01-17 Thread Richard Biener
On Fri, 17 Jan 2014, Jakub Jelinek wrote: > Hi! > > I believe the intent of these testcases was to verify the loops > are vectorized and don't need versioning for alias, which is the only thing > these constructs tell the compiler about. On some architectures, it is > possible the loops will nee

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Jakub Jelinek
On Fri, Jan 17, 2014 at 06:19:37AM -0800, H.J. Lu wrote: > ix86_split_lea_for_addr transforms a single LEA instruction into a series > of MOV and ADD instructions. For > > lea 0x400(%eax, %ecx, 8), %edx > > we get > > mov %eax, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx,

Re: [PATCH] Don't fold zero-sized elements (PR c/58346)

2014-01-17 Thread Richard Biener
On Fri, Jan 17, 2014 at 2:37 PM, Marek Polacek wrote: > This is the real fix for PR58346. I'd say the easiest solution is > just not fold the zero-sized elements. > > Bootstrapped/regtested on x86_64-linux, ok for trunk? Ok. Thanks, Richard. > 2014-01-17 Marek Polacek > > PR c/58346

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 3:15 PM, Jakub Jelinek wrote: > On Tue, Jan 14, 2014 at 08:12:41PM +0100, Jakub Jelinek wrote: >> For 4.9, if what you've added is what you want to do for performance >> reasons, then I'd do something like: > > Ok, here it is in a form of patch, bootstrapped/regtested on x8

Re: [PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread Uros Bizjak
On Fri, Jan 17, 2014 at 3:19 PM, H.J. Lu wrote: > ix86_split_lea_for_addr transforms a single LEA instruction into a series > of MOV and ADD instructions. For > > lea 0x400(%eax, %ecx, 8), %edx > > we get > > mov %eax, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add %ecx, %edx > add

[committed] Honza's alias/weakref fix (PR c++/57945)

2014-01-17 Thread Jakub Jelinek
Hi! I've bootstrapped/regtested on x86_64-linux and i686-linux following patch from Honza from the PR comment (written a month ago, acked by Jason a fortnight ago) and committed it to trunk. 2014-01-17 Jan Hubicka PR c++/57945 * passes.c (rest_of_decl_compilation): Don't call

Re: [Patch][AArch64] vneg floating point testcase BE fixed

2014-01-17 Thread Alex Velenko
Hi, Here are some more improvements on changelog entry: gcc/testsuite/ 2013-01-16 Alex Velenko * gcc.target/aarch64/vneg_f.c (STORE_INST): New macro. (RUN_TEST): Use new macro. (INDEX64_32): Delete. (INDEX64_64): Likewise. (INDEX128_32): Likewise.

[build, libgcc] Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)

2014-01-17 Thread Rainer Orth
As described in the PR, the 64-bit Solaris 10+/x86 libc contains an implementation of those _Unwind_* functions required by the AMD64 ABI, i.e. those contained in libgcc_s.so.1 at version GCC_3.0. If by some circumstance (use of -Bdirect, -z lazyload, maybe others) libc.so.1 happens to be searched

[PATCH] Add X86_TUNE_AVOID_LEA_FOR_ADDR

2014-01-17 Thread H.J. Lu
ix86_split_lea_for_addr transforms a single LEA instruction into a series of MOV and ADD instructions. For lea 0x400(%eax, %ecx, 8), %edx we get mov %eax, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add %ecx, %edx add $0x400, %ed

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2014-01-17 Thread Jakub Jelinek
On Tue, Jan 14, 2014 at 08:12:41PM +0100, Jakub Jelinek wrote: > For 4.9, if what you've added is what you want to do for performance > reasons, then I'd do something like: Ok, here it is in a form of patch, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2014-01-17 Jakub Je

[PATCH] Fix up gen-vect-32.c testcase (PR testsuite/58776)

2014-01-17 Thread Jakub Jelinek
Hi! For -O2 vectorization by default GCC 4.9 uses the cheap cost model, which disallows e.g. peeling for alignment, but on strict alignment targets the loop needs to be peeled for alignment, otherwise vectorization isn't performed. Fixed by just adding -fno-vect-cost-model to dg-options, bootstra

[PATCH] Handle NAMELIST_DECLs in tree-nested (PR fortran/59440)

2014-01-17 Thread Jakub Jelinek
Hi! The following testcases ICE, because when tree-nested.c replaces various decls in the functions with local or nonlocal alternative decls and makes the old ones DECL_IGNORED_P, decls inside of NAMELIST_DECL NAMELIST_DECL_ASSOCIATED_DECL aren't replaced and thus debug info can't be generated for

[PATCH] Fix up ivdep/do concurrent testcases (PR testsuite/59064)

2014-01-17 Thread Jakub Jelinek
Hi! I believe the intent of these testcases was to verify the loops are vectorized and don't need versioning for alias, which is the only thing these constructs tell the compiler about. On some architectures, it is possible the loops will need versioning for alignment (or peeling for alignment or

[C++ PATCH] Don't segv in cvt.c (PR c++/59838)

2014-01-17 Thread Marek Polacek
This prevents segfault in ocp_convert. If the ENUM_UNDERLYING_TYPE is NULL, don't call int_fits_type_p on it. We give meaningful error message on the attached testcase; it's the same message as GCC 3.4/4.0.2/4.4 gave (these GCC didn't ICE on it). Bootstrapped/regtested on x86_64-linux, ok for tr

[PATCH] Don't fold zero-sized elements (PR c/58346)

2014-01-17 Thread Marek Polacek
This is the real fix for PR58346. I'd say the easiest solution is just not fold the zero-sized elements. Bootstrapped/regtested on x86_64-linux, ok for trunk? 2014-01-17 Marek Polacek PR c/58346 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element size i

Re: PATCH: PR middle-end/59789: [4.9 Regression] ICE in in convert_move, at expr.c:333

2014-01-17 Thread H.J. Lu
On Mon, Jan 13, 2014 at 12:11 PM, H.J. Lu wrote: > Hi, > > We should report some early inlining errors. This patch is based on > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57698#c7 > > It adds report_early_inliner_always_inline_failure and uses it in > expand_call_inline. Tested on Linux/x86-

[PATCH] Reduce compile-time for -Og

2014-01-17 Thread Richard Biener
This reduces -Og compile-time for the testcase in PR46590 from 116s to 40s (still way short of -O0 compile-time which is 17s). It does so by disabling the rest of loop2 (RTL invariant motion and doloop) as I originally intended and by disabling PTA which can get quite expensive on larger testcases

Re: [PATCH] Fix PR46590

2014-01-17 Thread Richard Biener
On Fri, 17 Jan 2014, Jakub Jelinek wrote: > On Fri, Jan 17, 2014 at 12:32:34PM +0100, Richard Biener wrote: > > ! /* Search the contents of the sorted vector with a binary search. > > !CMP is the comparison function to pass to bsearch. */ > > Can you please sed -i -e s/__//g in the whole met

Re: [Patch][AArch64] vneg floating point testcase BE fixed

2014-01-17 Thread Alex Velenko
Hi, I agree the correct changelog entry should be: gcc/testsuite/ 2013-01-16 Alex Velenko */gcc.target/aarch64/vneg_f.c (STORE_INST): New macro. (RUN_TEST): Use new macro. (INDEX): marcro removed (test_vneg_f32): Use fixed RUN_TEST. (test_vneg_f64): Likewise.

Re: [AArch64] Make -mcpu, -march and -mtune case-insensitive.

2014-01-17 Thread Richard Earnshaw
On 17/01/14 11:12, Alan Lawrence wrote: > Small patch to make the -mcpu, -march and -mtune command-line options > case-insensitive, allowing e.g. -mcpu=CortexA57 -march=ARMv8-A. > > Tested on aarch64-none-elf with no regressions; options passed onto e.g. > ld are always lowercase (as before). > >

Re: [PATCH, ARM, v2] Fix PR target/59142: internal compiler error while compiling OpenCV 2.4.7

2014-01-17 Thread Christophe Lyon
Committed on Charlies' behalf as: r206706 for the 4.8 branch r206707 for the 4.7 branch Christophe. On 17 January 2014 10:28, Richard Earnshaw wrote: > On 16/01/14 18:40, Charles Baylis wrote: >> On 20 December 2013 13:26, Richard Earnshaw wrote: >>> On 19/12/13 17:40, Charles Baylis wrote: >>>

Re: [PATCH] Fix PR46590

2014-01-17 Thread Jakub Jelinek
On Fri, Jan 17, 2014 at 12:32:34PM +0100, Richard Biener wrote: > ! /* Search the contents of the sorted vector with a binary search. > !CMP is the comparison function to pass to bsearch. */ Can you please sed -i -e s/__//g in the whole method? I mean, this isn't in libstdc++ or glibc header,

[C++ Patch] PR 59269

2014-01-17 Thread Paolo Carlini
Hi, I think we can handle this 4.9 Regression ICE in build_value_init_noctor the same way as cx_check_missing_mem_inits: only enforce !TYPE_HAS_COMPLEX_DFLT when errorcount == 0 (I also double checked that in the case at issue type_has_constexpr_default_constructor is true). Tested x86_64-li

Commit: MSP430: Add -mcpu= option

2014-01-17 Thread Nick Clifton
Hi Guys, I am committing the attached patch to add a -mcpu= command line option to the MSP430 backend. This allows the selection of the ISA to be used, and it operates independently of the -mmcu= command line option. gcc/ChangeLog 2014-01-17 Nick Clifton * config/msp430/msp430.

[PATCH] Fix PR46590

2014-01-17 Thread Richard Biener
This fixes PR46590 - I've worked on this at the beginning of last year already but appearantly when deciding to not push the last bits of the LIM reorg failed to check the full testcase again. So this fixes memory usage of that large testcase (many loops) from requiring a peak memory usage of >3.

[AArch64] Make -mcpu, -march and -mtune case-insensitive.

2014-01-17 Thread Alan Lawrence
Small patch to make the -mcpu, -march and -mtune command-line options case-insensitive, allowing e.g. -mcpu=CortexA57 -march=ARMv8-A. Tested on aarch64-none-elf with no regressions; options passed onto e.g. ld are always lowercase (as before). OK for trunk? --Alan ChangeLog: 2014-01-17 Alan La

Re: [Patch] Regex bracket matcher cache optimization

2014-01-17 Thread Jonathan Wakely
On 17 January 2014 10:33, Tim Shen wrote: > I agree, especially after I finding that an exported symbol could only > be removed in a main version changing. Maybe never! > Anyway, we'll win some run-time > cases, on which, we beat Boost ;) That's excellent, well done :-)

Re: [RFA][PATCH][PR middle-end/57904][P1 regression] Improve cleanups after copyprop

2014-01-17 Thread Richard Biener
On Thu, Jan 16, 2014 at 7:30 PM, Jeff Law wrote: > On 01/16/14 04:49, Richard Biener wrote: >> >> >> Well - the issue here is that inlining / IPA-CP propagates constant >> arguments to direct uses which of course exposes constant propagation >> opportunities. Now, copyprop doesn't to "real" const

Re: [Patch] Regex bracket matcher cache optimization

2014-01-17 Thread Tim Shen
On Fri, Jan 17, 2014 at 4:39 AM, Jonathan Wakely wrote: > On 8 January 2014 22:47, Tim Shen wrote: > I think we want to be cautious with exporting instantiations (and as > Paolo noted we definitely don't want to do it for 4.9.0 now). Slow > compile times are a problem, but only a minor annoyance.

Re: Extend -fstack-protector-strong to cover calls with return slot

2014-01-17 Thread Florian Weimer
On 01/08/2014 03:57 PM, Florian Weimer wrote: What about the attached version? It still does not exactly match your original suggestion because gimple_call_lhs (stmt) can be NULL_TREE if the result is ignored and this case needs instrumentation, as you explained, so I use the function return ty

Re: [C++ Patch] PR 59270

2014-01-17 Thread Paolo Carlini
.. patchlet fixes c++/58811 too. Paolo.

Re: [Patch] Regex bracket matcher cache optimization

2014-01-17 Thread Jonathan Wakely
On 8 January 2014 22:47, Tim Shen wrote: > > So my plan is to instantiate _Compiler and _Executor instead of user > interfaces like basic_regex or regex_match, because the implementation > may change (say add a new executor) later. Is that Ok? I think we want to be cautious with exporting instanti

Re: [PATCH, ARM, v2] Fix PR target/59142: internal compiler error while compiling OpenCV 2.4.7

2014-01-17 Thread Richard Earnshaw
On 16/01/14 18:40, Charles Baylis wrote: > On 20 December 2013 13:26, Richard Earnshaw wrote: >> On 19/12/13 17:40, Charles Baylis wrote: >>> Is it ok for 4.8, and should it be considered for 4.7? >>> >> >> Yes, provided it passes testing on those releases. > > Results of testing 4.8: > All 3 pat

Re: [PATCH] _Cilk_for for C and C++

2014-01-17 Thread Marek Polacek
On Thu, Jan 16, 2014 at 01:18:59PM -0800, Aldy Hernandez wrote: > I'm not a C++ expert, but my understanding was that in C++ you don't > need a typedef to use the following structure by name > (cilk_for_information). So you can just declare "struct > cilk_for_information {...}" and instantiate it

Re: [RFA] [PATCH][PR tree-optimization/59749] Fix recently introduced ree bug

2014-01-17 Thread Eric Botcazou
> Bootstrapped & regression tested on x86_64-unknown-linux. Also > bootstrapped with --enable-checking=rtl. Note that you can do only one bootstrap with --enable-checking=yes,rtl. > Installed on the trunk. As far as I can see, no, it was not installed. -- Eric Botcazou

[PATCH] Fix crossing jumps in functions with forced_labels (PR rtl-optimization/57763)

2014-01-17 Thread Jakub Jelinek
Hi! As mentioned in the PR, on alpha (but I don't see a reason why it can't occur on most other targets except for i?86/x86_64, cr16, m32c, moxie and msp430) if a function has non-NULL forced_labels (contains computed goto), we can get ICEs due to incorrect EDGE_CROSSING flags on some edges. The

Re: [Patch, cilk, C++] Fix cilk testsuite failure

2014-01-17 Thread Richard Sandiford
Steve Ellcey writes: > 2014-01-15 Andrew Pinski > Steve Ellcey > > PR target/59462 > * config/mips/mips.c (mips_print_operand): Check operand mode instead > of operator mode. > > > diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c > index 617391c..60cb8ee

Allow passing arrays in registers on AArch64

2014-01-17 Thread Michael Hudson-Doyle
Hi, as discussed in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 GCC currently gets a detail of the AArch64 ABI wrong: arrays are not always passed by reference. Fortunately the fix is rather easy... I guess this is an ABI break but my understand there has been no release of GCC which suppor

Re: [ARM] Make -mcpu, -march and -mtune case-insensitive

2014-01-17 Thread James Greenhalgh
On Thu, Jan 16, 2014 at 06:13:33PM +, James Greenhalgh wrote: > On Thu, Jan 16, 2014 at 05:14:24PM +, Richard Earnshaw wrote: > > On 16/01/14 16:15, Alan Lawrence wrote: > > > This is a small patch that makes the -mcpu, -march and -mtune > > > command-line options case-insensitive, allowing