[PATCH] Fix dependencies of build/gencheck.o

2011-10-27 Thread Jakub Jelinek
Hi! This morning I've noticed a build failure, USERDEF_LITERAL_CHECK macro wasn't defined. The problem is that the gencheck binary includes an array with all tree names (includes all-tree.def), and depended on all-tree.def (which is a move-if-change file) and $(lang_tree_files), but not on c-fami

Re: tree-ssa-strlen vs. zero-length strings

2011-10-27 Thread Jakub Jelinek
On Wed, Oct 26, 2011 at 10:22:21PM -0700, Ian Lance Taylor wrote: > I don't think it is possible to trigger this using C because I don't > think it is possible to have a zero-length STRING_CST in C. Ugh. I think the following should work, after all it will be tiny more efficient, I chose to use c

Re: [PATCH 0/6] More vector permutation work

2011-10-27 Thread Ulrich Weigand
> Richard Henderson wrote: > > On 10/26/2011 07:30 AM, Ulrich Weigand wrote: > > > This fails since for u == 4 and mode == V4SFmode it attempts to expand > > > a V4SFmode shift, which is unsupported. > > > > > > Shouldn't this be using the mode of the selector rather than the mode > > > of the res

Re: [PATCH][RFC] Re-write LTO option merging

2011-10-27 Thread Richard Guenther
On Wed, 26 Oct 2011, Mike Stump wrote: > On Oct 26, 2011, at 6:10 AM, Richard Guenther wrote: > > This completely rewrites LTO option merging. > > > Any comments? > > Wondering if It breaks darwin? > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50876 > > We have: > >%{Zmultiply_defined*:-

Re: [PATCH][RFC] Re-write LTO option merging

2011-10-27 Thread Richard Guenther
On Wed, 26 Oct 2011, Richard Guenther wrote: > > This completely rewrites LTO option merging. At compile (uselessly > now at WPA?) time we now stream a COLLECT_GCC_OPTIONS like string > as it comes from argv of the compiler binary. Those options are > read in by the LTO driver (lto-wrapper), me

RE: [patch tree-optimization]: Improve handling of conditional-branches on targets with high branch costs

2011-10-27 Thread Jiangning Liu
> -Original Message- > From: Michael Matz [mailto:m...@suse.de] > Sent: Wednesday, October 26, 2011 11:47 PM > To: Kai Tietz > Cc: Jiangning Liu; Richard Guenther; Kai Tietz; gcc-patches@gcc.gnu.org; > Richard Henderson > Subject: Re: [patch tree-optimization]: Improve handling of > condi

Re: [PATCH, devirtualization] Detect the new type in type change detection

2011-10-27 Thread Richard Guenther
On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote: > Hi, > > I've been asked by Maxim Kuvyrkov to revive the following patch which > has not made it to 4.6.  Currently, when type based devirtualization > detects a potential type change, it simply gives up on gathering any > information on the o

Re: [PATCH][RFC] Re-write LTO option merging

2011-10-27 Thread Richard Guenther
On Wed, 26 Oct 2011, Joseph S. Myers wrote: > On Wed, 26 Oct 2011, Richard Guenther wrote: > > > Index: trunk/gcc/opts-global.c > > === > > *** trunk.orig/gcc/opts-global.c2011-10-26 13:46:24.0 +0200 > > --- trunk/gcc/opt

Re: [patch tree-optimization]: Improve handling of conditional-branches on targets with high branch costs

2011-10-27 Thread Kai Tietz
2011/10/27 Jiangning Liu : > > >> -Original Message- >> From: Michael Matz [mailto:m...@suse.de] >> Sent: Wednesday, October 26, 2011 11:47 PM >> To: Kai Tietz >> Cc: Jiangning Liu; Richard Guenther; Kai Tietz; gcc-patches@gcc.gnu.org; >> Richard Henderson >> Subject: Re: [patch tree-optimi

Re: Reload related segfaults

2011-10-27 Thread Eric Botcazou
> The crash is in find_valid_class() called from push_reload(), via this > code block around line 1184 of reload.c: > > enum reg_class in_out_class > = find_valid_class (outmode, GET_MODE (SUBREG_REG (out)), > subreg_regno_offset (REGNO (SUBREG_REG (out)), >

Scheduler fix for the new predication code

2011-10-27 Thread Bernd Schmidt
When we try to predicate an insn in the scheduler, we must check whether the condition has been overwritten. The current code for that tries to look for an insn writing the condition register, then checking REG_DEP_TRUE deps. It fails in a situation as follows: [A1] branch A1:A0 = some operation s

[v3] Fix libstdc++/50880

2011-10-27 Thread Paolo Carlini
Hi, tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero for the affected function), committed to mainline. Will go in 4.6.3 too. Thanks, Paolo. /// 2011-10-27 Richard B. Kreckel Paolo Carlini PR libstdc++/50880 * i

Re: Go patch committed: Implement new syscall package

2011-10-27 Thread Rainer Orth
Ian, > I committed this patch which should fix this problem. Bootstrapped and > ran Go testsuite on x86_64-unknown-linux-gnu. thanks, but this is not enough: nawk: syntax error at source line 173 context is ([^ >>> ]*)$", <<< cparam) == 0) { nawk: illegal statement at source line 17

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Paolo Carlini
Hi, > Let me know if you need additional details, or what else. How is the template case failing? Some preliminary notes, maybe you can already make some sense out of this, more later, if you like: Thus we have this testcase: template struct impl { template static T create(); };

Re: [PATCH] Mechanical renaming in ipa-prop.c

2011-10-27 Thread Jan Hubicka
> Hi, > > I've worked with the parameter-has-not-been-modified mechanism in > ipa-prop.c after not seeing for quite some time and found the original > "infos" and temporary "parm_infos" confusing. Thus I at least renamed > all the parm_infos (which are deallocated after the analysis ends and > wh

GCC 4.7.0 Status Report (2011-10-27), Stage 1 will end Nov 7th

2011-10-27 Thread Richard Guenther
Status == The GCC trunk is still in stage1. Stage1 will last until Nov 7th (including, use your timezone to your advantage) after which we will have been in stage1 for nearth 8 months. In stage3 the trunk will be open for general bugfixing, no new features will be accepted. Now is time to b

[PATCH] Fix PR50731

2011-10-27 Thread Richard Guenther
We failed to handle the case of a scalar shift operand in do_binop. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2010-10-27 Richard Guenther PR middle-end/50731 * tree-vect-generic.c (do_binop): Handle scalar operands. Index: gcc/tree-vect-generic.

[PATCH i386] PR47698 no CMOV for volatile mem

2011-10-27 Thread Sergey Ostanevich
Hi! Here's a patch for PR47698, which is about CMOV should not be generated for memory address marked as volatile. Successfully bootstrapped and passed make check on x86_64-unknown-linux-gnu. Is it Ok? regards, Sergos /gcc 2011-10-27 Sergey Ostanevich PR rtl-optimization/47698

c6x.c warning fixes

2011-10-27 Thread Bernd Schmidt
This fixes a few warnings when building c6x.c. Committed. Bernd Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 180564) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,10 @@ +2011-10-24 Bernd Schmidt + + * confi

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Jason Merrill
Looks like qualified_name_lookup_error (object_type, tmpl, member, input_location); is passing the wrong first argument; the scope argument should be the same as we passed to lookup_qualified_name. Jason

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Paolo Carlini
Hi, > Looks like > >>qualified_name_lookup_error (object_type, tmpl, member, >> input_location); > > is passing the wrong first argument; the scope argument should be the same as > we passed to lookup_qualified_name. Ok, thanks, I'll

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Jason Merrill
On 10/27/2011 08:57 AM, Paolo Carlini wrote: Ok, thanks, I'll work more on this later today. Then, if we fix that we don't error out at all, right? Because this is a reject valid, AFAIK. In that case, lookup_qualified_name shouldn't be returning error_mark_node. Jason

Re: Reload related segfaults

2011-10-27 Thread Iain Sandoe
On 27 Oct 2011, at 11:33, Eric Botcazou wrote: The crash is in find_valid_class() called from push_reload(), via this code block around line 1184 of reload.c: enum reg_class in_out_class = find_valid_class (outmode, GET_MODE (SUBREG_REG (out)), subreg

Re: [PATCH] Pass through jump functions for addressable (scalar) parameters

2011-10-27 Thread Richard Guenther
On Wed, Oct 26, 2011 at 8:25 PM, Martin Jambor wrote: > Hi, > > Honza requested that we do attempt to produce pass-through jump > functions even when the actual formal parameter that is being passed > on is addressable - provided that we can prove it has not changed > value, of course.  The follow

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Gabriel Dos Reis
On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini wrote: > Hi, > > tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero > for the affected function), committed to mainline. Will go in 4.6.3 too. Hmm, why is the test of the form x < 0.0, and not testing the sign of x?

fwprop: fix REG_DEAD notes rendered incorrect

2011-10-27 Thread Alexandre Oliva
fwprop may propagate a SET_SRC that contains the last use of a REG to a later point, but it will leave the REG_DEAD note in place, even though it is no longer correct. I noticed this while investigating PR50826: the initialization of the internal_arg_pointer has a REG_DEAD note for %r29, but even

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Paolo Carlini
Hi, > On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini > wrote: >> Hi, >> >> tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero >> for the affected function), committed to mainline. Will go in 4.6.3 too. > > Hmm, why is the test of the form x < 0.0, and not testing the s

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Paolo Carlini
Hi again, > > Hmm, why is the test of the form x < 0.0, and not testing the sign of x? Actually, we can as well use the std::abs, no? Paolo

Re: Go patch committed: Update Go library

2011-10-27 Thread Rainer Orth
Ian, > This patch updates the Go library to the most recent weekly release. I > think the only potential portability issues here are the use of the > ipv6_mreq struct. I'm not entirely sure the new exp/terminal package is > portable, but it might be. the only issue I've found on Solaris is the

Re: GCC 4.7.0 Status Report (2011-10-27), Stage 1 will end Nov 7th

2011-10-27 Thread Uros Bizjak
Hello! > The GCC trunk is still in stage1. Stage1 will last until > Nov 7th (including, use your timezone to your advantage) after > which we will have been in stage1 for nearth 8 months. > In stage3 the trunk will be open for general bugfixing, no > new features will be accepted. There is a pat

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Paolo Carlini
Hi > On 10/27/2011 08:57 AM, Paolo Carlini wrote: >> Ok, thanks, I'll work more on this later today. Then, if we fix that we >> don't error out at all, right? Because this is a reject valid, AFAIK. > > In that case, lookup_qualified_name shouldn't be returning error_mark_node. Yes, I suspected

Re: fwprop: fix REG_DEAD notes rendered incorrect

2011-10-27 Thread Eric Botcazou
> fwprop may propagate a SET_SRC that contains the last use of a REG to a > later point, but it will leave the REG_DEAD note in place, even though > it is no longer correct. I noticed this while investigating PR50826: > the initialization of the internal_arg_pointer has a REG_DEAD note for > %r29,

fix incorrect debug temp added by df-problems

2011-10-27 Thread Alexandre Oliva
pr43165.c -Os -g exercises a bug in df-problems WRT the introduction of debug temps. After pro_and_epilogue, the function was optimized to this: push bp mov bp,sp # debug insn referencing bp pop bp I don't know why we bother to preserve and set up bp, it's not used in nondebug insns (and even wi

[PATCH] Fix PR50876

2011-10-27 Thread Richard Guenther
This should fix PR50876, failure to properly separate switches and their arguments from the LTO driver. It also corrects one issue with counting arguments (causing us to drop the last switch or switch argument). It also re-writes the code to use an obstack for accumulating argv for the invoked d

[PATCH, SMS] Fix marking of SMSed loops as BB_DISABLE_SCHEDULE

2011-10-27 Thread Revital Eres
Hello, The attach patch fixes the current marking of SMS loops to prevent further scheduling as follows: it marks *all* the loop's bbs with BB_DISABLE_SCHEDULE which prevents them from been scheduled later. (with the current implementation if the loop has non empty latch then it will be considered

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Gabriel Dos Reis
On Thu, Oct 27, 2011 at 8:19 AM, Paolo Carlini wrote: > Hi, > >> On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini >> wrote: >>> Hi, >>> >>> tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero >>> for the affected function), committed to mainline. Will go in 4.6.3 too. >> >>

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Gabriel Dos Reis
On Thu, Oct 27, 2011 at 8:21 AM, Paolo Carlini wrote: > Hi again, >> >> Hmm, why is the test of the form x < 0.0, and not testing the sign of x? > > Actually, we can as well use the std::abs, no? > > Paolo The point of using sign is so that signed zero is not mischaracterized, especially when cu

Re: Use of vector instructions in memmov/memset expanding

2011-10-27 Thread Jan Hubicka
Hi, sorry for delay with the review. This is my first pass through the backend part, hopefully someone else will do the middle end bits. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 2c53423..d7c4330 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -561,10

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Paolo Carlini
Hi, > I am surprised by your comment. You do not care and that is why you > are eager to > commit the patch without checking first with fellow area maintainers? Yes, probably my comment wan't clear enough: my point was that I cannot spend more time on this issue. I'm convinced, I may be wrong,

Re: [v3] Fix libstdc++/50880

2011-10-27 Thread Gabriel Dos Reis
On Thu, Oct 27, 2011 at 10:19 AM, Paolo Carlini wrote: > Hi, > >> I am surprised by your comment.  You do not care and that is why you >> are eager to >> commit the patch without checking first with fellow area maintainers? > > Yes, probably my comment wan't clear enough: my point was that I canno

[PATCH, i386]: FIX PR50875, -O3 and -mavx lead to internal compiler error in find_reloads

2011-10-27 Thread Uros Bizjak
Hello! Apparently, reload does not like matching register alternatives in *avx_unpcklpd256. Attached patch removes this problematic alternative and generates vunpcklpd insn instead, since the later instruction has the same length, latency, uops, etc as vmovddup while giving much more freedom to r

Re: fwprop: fix REG_DEAD notes rendered incorrect

2011-10-27 Thread Alexandre Oliva
On Oct 27, 2011, Eric Botcazou wrote: >> fwprop may propagate a SET_SRC that contains the last use of a REG to a >> later point, but it will leave the REG_DEAD note in place, even though >> it is no longer correct. I noticed this while investigating PR50826: >> the initialization of the internal

Re: tree-ssa-strlen vs. zero-length strings

2011-10-27 Thread Ian Lance Taylor
Jakub Jelinek writes: > On Wed, Oct 26, 2011 at 10:22:21PM -0700, Ian Lance Taylor wrote: >> I don't think it is possible to trigger this using C because I don't >> think it is possible to have a zero-length STRING_CST in C. > > Ugh. > > I think the following should work, after all it will be tin

Re: [PATCH 0/6] More vector permutation work

2011-10-27 Thread Richard Henderson
On 10/27/2011 01:05 AM, Ulrich Weigand wrote: >> Richard Henderson wrote: >>> On 10/26/2011 07:30 AM, Ulrich Weigand wrote: This fails since for u == 4 and mode == V4SFmode it attempts to expand a V4SFmode shift, which is unsupported. Shouldn't this be using the mode of the sele

Re: Go patch committed: Update Go library

2011-10-27 Thread Uros Bizjak
Hello! > This patch updates the Go library to the most recent weekly release. I > think the only potential portability issues here are the use of the > ipv6_mreq struct. I'm not entirely sure the new exp/terminal package is > portable, but it might be. There are still problems with EpollEvent d

Re: [PATCH, i386]: FIX PR50875, -O3 and -mavx lead to internal compiler error in find_reloads

2011-10-27 Thread Steve Kargl
On Thu, Oct 27, 2011 at 06:06:09PM +0200, Uros Bizjak wrote: > > I would kindly ask someone fluent in fortran to construct a > compile-time testcase from the PR [1], that will correctly exercise > the fix on x86 with "-O3 -mavx" options and immortalize the testcase > in gfortran testsuite. > How

Re: Go patch committed: Update Go library

2011-10-27 Thread Ian Lance Taylor
Rainer Orth writes: > the only issue I've found on Solaris is the use of pthread_yield, which > doesn't exist even on Solaris 11. The following patch checks for this, > and falls back to thr_yield if available. Thanks--but is sched_yield available? I realized that I misread the man page; it lo

Re: [PATCH, i386]: FIX PR50875, -O3 and -mavx lead to internal compiler error in find_reloads

2011-10-27 Thread Uros Bizjak
On Thu, Oct 27, 2011 at 6:45 PM, Steve Kargl wrote: > On Thu, Oct 27, 2011 at 06:06:09PM +0200, Uros Bizjak wrote: >> >> I would kindly ask someone fluent in fortran to construct a >> compile-time testcase from the PR [1], that will correctly exercise >> the fix on x86 with "-O3 -mavx" options and

Re: Go patch committed: Update Go library

2011-10-27 Thread Rainer Orth
Ian Lance Taylor writes: > Thanks--but is sched_yield available? I realized that I misread the man > page; it looks like sched_yield is more portable than pthread_yield. It is, but before Solaris 11 it only lives in librt. Rainer -- ---

[PATCH] Miscompilation of __attribute__((constructor)) functions.

2011-10-27 Thread Paul Brook
Patch below fixes a miscompilation observed whem building uclibc libpthread on a mips-linux system. The story start with the ipa-split optimization, which turns: void fn() { if (cond) { DO_STUFF; } } into: static void fn_helper() { DO_STUFF; } void fn() { if (cond) fn_helper()

[Patch,AVR]: Support -maccumulate-args option

2011-10-27 Thread Georg-Johann Lay
This is support of a new option -maccumulate-args that implements ACCUMULATE_OUTGOING_ARGS as proposed by Richard. As 4.7 will be released very soon, I'd like to supply the documentation part later and use the remaining stage I time for extension/improvements. The tests ran 4 times with either co

RE: [Patch,AVR]: Support -maccumulate-args option

2011-10-27 Thread Weddington, Eric
> -Original Message- > From: Georg-Johann Lay > Sent: Thursday, October 27, 2011 11:26 AM > To: gcc-patches@gcc.gnu.org > Cc: Richard Henderson; Weddington, Eric; Denis Chertykov > Subject: [Patch,AVR]: Support -maccumulate-args option > > This is support of a new option -maccumulate-args

[PATCH, C++, Committed] Obvious comment typo fix

2011-10-27 Thread Dodji Seketeli
Hello, I have committed the obvious cleanup below for a typo on a comment, into trunk. gcc/cp/ * cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index cc12d15..7ff1491 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -3625,7 +36

Re: [Patch,AVR]: Support -maccumulate-args option

2011-10-27 Thread Georg-Johann Lay
Weddington, Eric schrieb: >> -Original Message- >> From: Georg-Johann Lay >> Sent: Thursday, October 27, 2011 11:26 AM >> To: gcc-patches@gcc.gnu.org >> Cc: Richard Henderson; Weddington, Eric; Denis Chertykov >> Subject: [Patch,AVR]: Support -maccumulate-args option >> >> This is support o

Re: [C++-11] User defined literals

2011-10-27 Thread Ed Smith-Rowland
On 10/26/2011 03:38 PM, Jason Merrill wrote: On 10/26/2011 02:00 AM, Ed Smith-Rowland wrote: The patch was bootstrapped and regtested on x86_64-linux-gnu. Really? I ran into a warning about the unused "suffix" parameter to interpret_integer. So I've fixed that error. I also added a couple

Re: Reload related segfaults

2011-10-27 Thread Eric Botcazou
> Tentative fix attached, it should restore the old behavior for the cases > where everything was working fine before. I'm going to give it some > testing. > > > PR rtl-optimization/46603 > * reload.c (push_reload): In the out case, restore previous behavior > for subregs that do

[C++ PATCH] PR c++/45114 - Support alias templates

2011-10-27 Thread Dodji Seketeli
Hello, This patch adds support for the alias-declaration feature of the c++11 specification, introduced by the paper N2258[1] and voted into in the standard. It's a derivative work of a preliminary patch attached by Jason Merrill to PR C++/45114[2]. alias-declaration introduces a new syntax for

Re: [PATCH] Pass through jump functions for addressable (scalar) parameters

2011-10-27 Thread Martin Jambor
Hi, On Thu, Oct 27, 2011 at 03:07:10PM +0200, Richard Guenther wrote: > On Wed, Oct 26, 2011 at 8:25 PM, Martin Jambor wrote: > > Hi, > > > > > > > > 2011-10-26  Martin Jambor   > > > >        * ipa-prop.c (mark_modified): Moved up in the file. > >        (is_parm_modified_before_call): Renamed t

[PATCH] Some -masm=intel fixes

2011-10-27 Thread Jakub Jelinek
Hi! While testing other patches also with -masm=intel, I've noticed that several insns output wrong mem sizes. The following patch fixes what I found. %w1/%k1/%q1 will still %xmmN if it is a register and for AT&T syntax will print memory as normally, but for -masm=intel it will print WORD PTR/DW

Re: [PATCH] Some -masm=intel fixes

2011-10-27 Thread Uros Bizjak
On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek wrote: > While testing other patches also with -masm=intel, I've noticed that > several insns output wrong mem sizes.  The following patch fixes what I > found.  %w1/%k1/%q1 will still %xmmN if it is a register and for AT&T > syntax will print memory

Re: [PATCH] Some -masm=intel fixes

2011-10-27 Thread H.J. Lu
On Thu, Oct 27, 2011 at 12:17 PM, Uros Bizjak wrote: > On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek wrote: > >> While testing other patches also with -masm=intel, I've noticed that >> several insns output wrong mem sizes.  The following patch fixes what I >> found.  %w1/%k1/%q1 will still %xmmN

Re: [PATCH i386] PR47698 no CMOV for volatile mem

2011-10-27 Thread Uros Bizjak
Hello! > Here's a patch for PR47698, which is about CMOV should not be > generated for memory address marked as volatile. > Successfully bootstrapped and passed make check on x86_64-unknown-linux-gnu. PR rtl-optimization/47698 * config/i386/i386.c (ix86_expand_int_movcc) prevent

[PATCH] Add vec_pack_sfix_trunc_v4df and vec_pack_sfix_v4df

2011-10-27 Thread Jakub Jelinek
Hi! This patch adds vec_pack_sfix_trunc_v4df and vec_pack_sfix_v4df expanders, which allows e.g. f1 in the testcases to be vectorized using 32-byte vectors, even with -mavx. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2011-10-27 Jakub Jelinek * config/i386/ss

Re: [C++-11] User defined literals

2011-10-27 Thread Ed Smith-Rowland
On 10/26/2011 03:38 PM, Jason Merrill wrote: On 10/26/2011 02:00 AM, Ed Smith-Rowland wrote: The patch was bootstrapped and regtested on x86_64-linux-gnu. Really? I ran into a warning about the unused "suffix" parameter to interpret_integer. So I've fixed that error. I also added a couple of

Re: [PATCH] Add vec_pack_sfix_trunc_v4df and vec_pack_sfix_v4df

2011-10-27 Thread Richard Henderson
On 10/27/2011 12:31 PM, Jakub Jelinek wrote: > * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2, > vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders. > (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns. > > * gcc.target/i386/sse2-cvt-1.c: New test.

[PATCH] Don't ICE on long long shifts in vectorizable_shift

2011-10-27 Thread Jakub Jelinek
Hi! With the patch I'm going to post momentarily which adds vlshrv{4,2}di and vashlv{4,2}di patterns for -mavx2 vectorizable_shift ICEs, because the frontends for long_long_var1 << long_long_var2 emit long_long_var1 << (int) long_long_var2 and vectorizable_shift isn't prepared to handle type prom

Re: [C++-11] User defined literals

2011-10-27 Thread Jason Merrill
On 10/27/2011 03:32 PM, Ed Smith-Rowland wrote: + if (TREE_CODE (TREE_TYPE (decl)) != LANG_TYPE) +argtypes = TYPE_ARG_TYPES (TREE_TYPE (decl)); If you have multiple overloaded operator"" _foo, you need to iterate over them looking for the one (or ones, in the case of numeric literals) yo

[PATCH] Cleanup AVX2 vector/vector shifts

2011-10-27 Thread Jakub Jelinek
Hi! This patch cleans up the vector/vector shifts, there is no need to write them with lots of vec_selects/vec_concats etc. Additionally, it hooks them up into the standard vlshr3, vashl3 and vashr3 expanders so that the vectorizer can use them. The V16QImode and V8HImode expanders XOP provides a

Re: [PATCH, devirtualization] Detect the new type in type change detection

2011-10-27 Thread Martin Jambor
Hi, On Thu, Oct 27, 2011 at 11:06:02AM +0200, Richard Guenther wrote: > On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote: > > Hi, > > > > I've been asked by Maxim Kuvyrkov to revive the following patch which > > has not made it to 4.6.  Currently, when type based devirtualization > > detects

Re: [PATCH] Cleanup AVX2 vector/vector shifts

2011-10-27 Thread Uros Bizjak
On Thu, Oct 27, 2011 at 9:50 PM, Jakub Jelinek wrote: > Hi! > > This patch cleans up the vector/vector shifts, there is no need > to write them with lots of vec_selects/vec_concats etc. > Additionally, it hooks them up into the standard vlshr3, > vashl3 and vashr3 expanders so that the vectorizer

Re: [PATCH, SMS] Fix marking of SMSed loops as BB_DISABLE_SCHEDULE

2011-10-27 Thread Ayal Zaks
On Thu, Oct 27, 2011 at 4:47 PM, Revital Eres wrote: > Hello, > > The attach patch fixes the current marking of SMS loops to prevent > further scheduling as follows: it marks *all* the loop's bbs with > BB_DISABLE_SCHEDULE which prevents them from been scheduled later. > (with the current implemen

Re: [C++ PATCH] PR c++/45114 - Support alias templates

2011-10-27 Thread Gabriel Dos Reis
On Thu, Oct 27, 2011 at 2:10 PM, Dodji Seketeli wrote: > Hello, > > This patch adds support for the alias-declaration feature of the c++11 > specification, introduced by the paper N2258[1] and voted into in the > standard.  It's a derivative work of a preliminary patch attached by > Jason Merrill

Re: [C++ PATCH] PR c++/45114 - Support alias templates

2011-10-27 Thread Jason Merrill
On 10/27/2011 03:10 PM, Dodji Seketeli wrote: +/* Setter for the TYPE_DECL_ALIAS_P proprety above. */ +#define SET_TYPE_DECL_ALIAS_P(NODE, VAL) \ + (DECL_LANG_FLAG_6 (TYPE_DECL_CHECK (NODE)) = (VAL)) This seems unnecessary. +#define TYPE_DECL_NAMES_ALIAS_TEMPLATE_P(NODE)

Re: [PATCH] Add capability to run several iterations of early optimizations

2011-10-27 Thread Matt
Then you'd have to analyze the compile-time impact of the IPA splitting on its own when not iterating. ?Then you should look at what actually was the optimizations that were performed that lead to the improvement (I can see some indirect inlining happening, but everything else would be a bug in pr

[trans-mem] fixup OBJ_TYPE_REF removable correctly

2011-10-27 Thread Aldy Hernandez
Ho hum, more patches on our way to mergeability. This seems to be more fallout from the last merge. There's an apparent discrepancy between what we think is valid gimple in ipa_tm_insert_gettmclone_call() and what verify_gimple_call() believes is true. This, along with other patches I have

Re: [trans-mem] fix problems with same body aliases

2011-10-27 Thread Richard Henderson
On 10/26/2011 02:15 PM, Aldy Hernandez wrote: > * trans-mem.c (ipa_tm_execute): Do not include aliases in > tm_callees. > (callback_mark_needed): Set analyzed bit. Ok. r~

[PATCH, rs6000] Update Power7 scheduling

2011-10-27 Thread Pat Haugen
The following patch fixes some issues with the Power7 scheduling description. The patch is neutral on cpu2006 (was actually hoping to see some improvements, but it's still the right thing to do since it more accurately describes the hardware). Bootstrap/regtest on powerpc64-linux with no new r

Re: [PATCH] PR49720, infinite recursion in RTX simplification

2011-10-27 Thread Eric Botcazou
> 2011-10-27 Chung-Lin Tang > > PR rtl-optimization/49720 > * simplify-rtx.c (simplify_relational_operation_1): Detect > infinite recursion condition in "(eq/ne (plus x cst1) cst2) > simplifies to (eq/ne x (cst2 - cst1))" case. > > testsuite/ > * g++.dg/tortur

[trans-mem] Fix tm_region association of blocks with the "over" label.

2011-10-27 Thread Torvald Riegel
This patch fixes the detection of transactions regions for transactions that have __transaction_cancel statements. The block that has the "over" label to which an aborted transaction jumps does not belong to this transaction, but to the enclosing region. The included testcase would fail with prior

Re: [PATCH] Add capability to run several iterations of early optimizations

2011-10-27 Thread Maxim Kuvyrkov
Richard, Just as Matt posted his findings about the effect of iterating early optimizations, I've got the new patch ready. This patch is essentially a complete rewrite and addresses the comments you made. On 18/10/2011, at 9:56 PM, Richard Guenther wrote: >>> >>> If we'd want to iterate earl

Re: [C++ Patch / RFC] PR 50870

2011-10-27 Thread Paolo Carlini
Hi again, On 10/27/2011 08:57 AM, Paolo Carlini wrote: Ok, thanks, I'll work more on this later today. Then, if we fix that we don't error out at all, right? Because this is a reject valid, AFAIK. In that case, lookup_qualified_name shouldn't be returning error_mark_node. A little more informa

[PATCH] PR fortran/50573 -- Fix checking of dshift{lr} arguments

2011-10-27 Thread Steve Kargl
The attached patch tightens the checking of the arguments of the dshiftl and dshiftr argument. It also does a kind type conversion when either I or J is a BOZ to the kind type of the non-BOZ I or J. OK for trunk? 2011-10-27 Steven G. Kargl PR fortran/50573 * check.c (gfc_ch

[Patch, fortran] [01/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Move array reference initialisation earlier. Factor subsequent array references. diff --git a/trans-array.c b/trans-array.c index 3472804..4b21476 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2842,6 +2842,7

[Patch, fortran] [01..06/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
This is a 6 steps program to update gfc_trans_preloop_setup. gfc_trans_preloop_setup appeared completely rewritten. These step by step patches show that it is not the case. Combined patch attached here. OK? diff --git a/trans-array.c b/trans-array.c index 3472804e4c6344e68d15af2feee627429ca61018..f

[Patch, fortran] [02/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Move code earlier. diff --git a/trans-array.c b/trans-array.c index 4b21476..91359e9 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2876,6 +2876,17 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag,

[Patch, fortran] [04/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion. Special case outermost loop. diff --git a/trans-array.c b/trans-array.c index e3134f5..f5e30ae 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2867,7 +2867,10 @@ gfc_trans_preloop_s

[Patch, fortran] [05/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
This is for consistency. As dim == dimen-1 means "we are in the outermost loop", we should check against the loop dimension, not the array dimension. An assertion is added to check that it is in fact the same. OK? 2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Use lo

[Patch, fortran] [06/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Move common code... (add_array_offset): ...into that new function. diff --git a/trans-array.c b/trans-array.c index 476978e..f615e4e 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2830,6 +2830,34 @@ gfc_conv_

[Patch, fortran] [07..12/66] inline sum and product: Preliminary cleanups

2011-10-27 Thread Mikael Morin
This is a collection of independant and mostly trivial cleanups. I don't attach the combined patch as it is the concatenation of the separate patches. Patch 07: Useless coarray code removal. Patch 08: Remove redundant condition. Patch 09: Assertify condition. Patch 10: Use array dimensions instead

[Patch, fortran] [03/66] inline sum and product: Prepare gfc_trans_preloop_setup

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Factor loop index initialization. diff --git a/trans-array.c b/trans-array.c index 91359e9..e3134f5 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2863,16 +2863,15 @@ gfc_trans_preloop_setup (gfc_loopinfo * l

[Patch, fortran] [08/66] inline sum and product: Preliminary cleanups: Remove redundant condition.

2011-10-27 Thread Mikael Morin
As the first line of context shows, if the first condition is false, the second is false too. Thus, the first condition is useless. OK? 2011-10-19 Mikael Morin * trans-array.c (get_array_ref_dim): Remove redundant condition. diff --git a/trans-array.c b/trans-array.c index 83fa7b6..5500

[Patch, fortran] [09/66] inline sum and product: Preliminary cleanups: Assertify condition.

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Assertify one condition. diff --git a/trans-array.c b/trans-array.c index 5500ec4..8359af2 100644 --- a/trans-array.c +++ b/trans-array.c @@ -2885,8 +2885,7 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int f

[Patch, fortran] [10/66] inline sum and product: Preliminary cleanups: Use array's instead of loop's dimensions.

2011-10-27 Thread Mikael Morin
2011-10-19 Mikael Morin * trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions instead of loop dimensions. diff --git a/trans-array.c b/trans-array.c index 8359af2..f4d8a85 100644 --- a/trans-array.c +++ b/trans-array.c @@ -3347,9 +3347,11 @@ done:

[Patch, fortran] [07/66] inline sum and product: Preliminary cleanups: Useless coarray code removal.

2011-10-27 Thread Mikael Morin
This is a followup to my recent coarray/scalarizer changes, especially that one cleaning-up gfc_walk_variable_expr/gfc_walk_array_ref: http://gcc.gnu.org/ml/fortran/2011-09/msg00072.html Scalar coarrays are not handled as AR_ELEMENT in the scalarizer. Thus, no need to handle coarrays here. OK? 2011

[Patch, fortran] [11/66] inline sum and product: Preliminary cleanups: Skip temporary case.

2011-10-27 Thread Mikael Morin
We can't use temporaries to guess loop dimensions, as temporaries' bounds are calculated from loop dimensions. In the union: union { struct { ... } scalar; struct { ... } temp; struct gfc_ss_info info } data; We

[Patch, fortran] [12/66] inline sum and product: Preliminary cleanups: Stop loop before end marker.

2011-10-27 Thread Mikael Morin
We should not be writing to gfc_ss_terminator. It is working without this patch because gfc_ss_terminator's next pointer is NULL, so the loop stops just after it, and because we are writing zero to gfc_ss_terminator, but it is already all zeros anyway. OK? 2011-10-19 Mikael Morin * tran

[Patch, fortran] [13..19/66] inline sum and product: Interfaces changes

2011-10-27 Thread Mikael Morin
This is another preliminary change, to update function interfaces requiring it, so that afterwards structures can be changed internally without impacting function interfaces. The main reason for these changes is that gfc_ss_info's dim and dimen fields are to be moved to struct gfc_ss. Thus function

[Patch, fortran] [13/66] inline sum and product: Interfaces changes: gfc_trans_array_constructor

2011-10-27 Thread Mikael Morin
loop.temp_dim is set by gfc_trans_create_temp_array; there should be no reason why that value wouldn't suit gfc_trans_constant_array_constructor, which has then no reason to set the value directly. This patch remove that code. Then, the loop argument is useless and can be removed too. The function

[Patch, fortran] [14/66] inline sum and product: Interfaces changes: gfc_trans_array_bound_check, gfc_conv_array_index_offset

2011-10-27 Thread Mikael Morin
The next patch is going to need array expression (available through gf_ss) instead of just the array descriptor in gfc_trans_array_bound_check. This makes the gfc_ss struct available as argument. This requires an update of gfc_conv_array_index_offset too. Both functions are static, they lose their

[Patch, fortran] [15/66] inline sum and product: Interfaces changes: obtain name more simply

2011-10-27 Thread Mikael Morin
This is a follow-up to the previous patch. It symplifies name obtention so that later we can change structs with less pain. :-) OK? 2011-10-19 Mikael Morin * trans-array.c (gfc_trans_array_bound_check): Use ss argument to get name. diff --git a/trans-array.c b/trans-array.c inde

  1   2   >