[patch] Fix PR49199 - ICE with SLP reduction

2011-05-30 Thread Ira Rosen
Hi, For SLP reduction (unlike regular reduction) the operands are not checked to be loop internal definitions. This patch adds such checks. Bootstrapped and tested on powerpc64-suse-linux. Committed. Ira ChangeLog: PR tree-optimization/49199 * tree-vect-loop.c (vect_is_slp_redu

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Jakub Jelinek
On Sun, May 29, 2011 at 10:57:34AM +0200, Eric Botcazou wrote: > --- var-tracking.c(revision 174377) > +++ var-tracking.c(working copy) > @@ -8398,6 +8398,27 @@ vt_add_function_parameter (tree parm) >if (GET_MODE (decl_rtl) == BLKmode || GET_MODE (incoming) == BLKmode) > return; >

Re: [PATCH, SMS 1/4] Fix calculation of row_rest_count

2011-05-30 Thread Revital Eres
Hello, > Please add the following: > o A clarification that rows_length is used only (as an optimization) to > back off quickly from trying to schedule a node in a full row; that is, to > avoid running through futile DFA state transitions. > o An assert that ps->rows_length[i] equals the number of

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Alexandre Oliva
On May 29, 2011, Eric Botcazou wrote: > * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with > crtl-> args.internal_arg_pointer based address to arg_pointer_rtx if > there is a DRAP register. > (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was re

Re: Deprecating mips-openbsd

2011-05-30 Thread Rainer Orth
Richard Sandiford writes: > Index: gcc/config.gcc > === > --- gcc/config.gcc2011-05-28 09:00:32.0 +0100 > +++ gcc/config.gcc2011-05-28 09:00:45.0 +0100 > @@ -240,6 +240,7 @@ case ${target} in > i[34567]86-

Re: Faster string streaming

2011-05-30 Thread Jan Hubicka
> On 05/29/2011 06:14 PM, Richard Guenther wrote: >>> > >>> > -/* Returns a hash code for P. */ >>> > +/* Returns a hash code for P. >>> > + Shamelessly*/ >> ... stolen from libiberty. >> >> ? >> >> Ok with that comment adjusted. > > Why steal it :) if you can instead add the code to libibe

Re: Ping^3: Re: Updated^2: RFA: Fix middle-end/46500 (void * encapsulated)

2011-05-30 Thread Andrew Haley
On 30/05/11 04:26, Joern Rennecke wrote: > Except or the fortran bits (committed), this patch hasn't been reviewed for > three weeks: > http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00582.html This is OK. I said so already. Andrew.

Re: [build, lto] Only accept -fuse-linker-plugin if linker supports -plugin (PR lto/46944)

2011-05-30 Thread Rainer Orth
Rainer Orth writes: > Richard Guenther writes: > >> I think we should do the linker version checks which relate to linker-plugin >> use on the plugin-linker instead. So if I specify a separate but known >> buggy linker I don't want it to be used by default. > > Here's a patch that does this. I

Re: [PATCH] Forward propagate also into RHS comparisons

2011-05-30 Thread Richard Guenther
On Fri, 27 May 2011, Richard Guenther wrote: > > This patch fixes the lack of combining comparisons that appear > on the RHS of assignments (as opposed to in gimple-conds or > in cond-exprs on the RHS of assignments). > > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Testing re

initialized out.clauses in read_predicate

2011-05-30 Thread Alexandre Oliva
In an -O3 bootstrap, out.clauses are reported as uninitialized. GCC is not smart enough to realize accesses to the uninitialized members will never happen. It shouldn't be too expensive to initialize them all, so this is what this patch does. Regstrapped on x86_64-linux-gnu and i686-linux-gnu.

Re: PATCH: Add pause intrinsic

2011-05-30 Thread Andrew Haley
On 05/26/2011 08:37 PM, Basile Starynkevitch wrote: > On Thu, 26 May 2011 13:48:13 -0400 > Paul Koning wrote: > >> Relax? Weird. "Pause" is just as weird. It might be an ia32 instruction, >> so as an ia32 builtin it is a reasonable name But if you want a generic >> builtin, you need a name

Re: [build, lto] Only accept -fuse-linker-plugin if linker supports -plugin (PR lto/46944)

2011-05-30 Thread Richard Guenther
On Mon, 30 May 2011, Rainer Orth wrote: > Rainer Orth writes: > > > Richard Guenther writes: > > > >> I think we should do the linker version checks which relate to > >> linker-plugin > >> use on the plugin-linker instead. So if I specify a separate but known > >> buggy linker I don't want it

Initialize previous in read_state_param_structs

2011-05-30 Thread Alexandre Oliva
Bootstrap-O3 complains about uninitialized uses of this variable in gengtype-state.c. The variable can never actually be used before initialization, but GCC is not smart enough to realize that. read_state_structures, just before the function at hand, has a similar loop and it zero-initializes both

unbreak -fno-compare-debug

2011-05-30 Thread Alexandre Oliva
During some command-line option handling revamp, -fno-compare-debug (AKA -fcompare-debug=) was broken, in that it didn't disable the recompilation any more. This made bootstrap-debug-lean unnecessarily slow and redundant, for stage2 was compiled twice using the -O0 stage1. This patch restores the

Re: unbreak -fno-compare-debug

2011-05-30 Thread Jakub Jelinek
On Mon, May 30, 2011 at 06:58:25AM -0300, Alexandre Oliva wrote: > This patch restores the expected/documented behavior. Regstrapped on > x86_64-linux-gnu and i686-linux-gnu. Ok to install? I'd say this is obvious. > for gcc/ChangeLog > from Alexandre Oliva > > * gcc.c (driver_handle

[x86] fix FMA cost computation

2011-05-30 Thread Alexandre Oliva
One of my patches for PR48866 mysteriously regressed fma3-fma.c. It turned out that a rearrangement in the order of emitting insns during expansion caused combine to attempt combinations in a different order, and this ended up exposing a latent error in the cost computation of FMA insns, that caus

Ping: The TI C6X port

2011-05-30 Thread Bernd Schmidt
Pings for the C6X port patches. 6/11: REG_WORDS_BIG_ENDIAN http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00757.html 7/11: Cope with using a section name other than ".rodata". http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00909.html 8/11: Round function arg sizes to more than PARM_BOUNDARY http://g

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Bernd Schmidt
On 05/30/2011 09:54 AM, Alexandre Oliva wrote: > On May 29, 2011, Eric Botcazou wrote: > >> * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with >> crtl-> args.internal_arg_pointer based address to arg_pointer_rtx if >> there is a DRAP register. >> (vt_init_

Re: Initialize previous in read_state_param_structs

2011-05-30 Thread Bernd Schmidt
On 05/30/2011 11:51 AM, Alexandre Oliva wrote: > Bootstrap-O3 complains about uninitialized uses of this variable in > gengtype-state.c. The variable can never actually be used before > initialization, but GCC is not smart enough to realize that. > read_state_structures, just before the function a

Re: [x86] fix FMA cost computation

2011-05-30 Thread Bernd Schmidt
On 05/30/2011 12:07 PM, Alexandre Oliva wrote: > One of my patches for PR48866 mysteriously regressed fma3-fma.c. It > turned out that a rearrangement in the order of emitting insns during > expansion caused combine to attempt combinations in a different order, > and this ended up exposing a laten

fix left-over debug insns in DCE

2011-05-30 Thread Alexandre Oliva
The insn shuffling in one of my patches for PR48866 shook out some latent problems in DCE. One of the issues was that DCE removed an insn that set a REG in a certain mode, without adjusting a debug use of that REG. This was in libstdc++, but I failed to take note of the affected file. DF later a

introduce --param max-vartrack-expr-depth

2011-05-30 Thread Alexandre Oliva
One of my patches for PR 48866 regressed guality/asm-1.c on x86_64-linux-gnu because what used to be a single complex debug value expression became a chain of debug temps holding simpler expressions, and this chain exceeded the default recursion depth in resolving location expressions. This patch

Re: introduce --param max-vartrack-expr-depth

2011-05-30 Thread Jakub Jelinek
On Mon, May 30, 2011 at 07:35:58AM -0300, Alexandre Oliva wrote: > One of my patches for PR 48866 regressed guality/asm-1.c on > x86_64-linux-gnu because what used to be a single complex debug value > expression became a chain of debug temps holding simpler expressions, > and this chain exceeded th

Re: RFA PR middle-end/48770

2011-05-30 Thread Bernd Schmidt
On 05/27/2011 07:49 PM, Jeff Law wrote: > Updated based on some comments from Bernd; specifically the other use of > delete_dead_insn has been removed. > > WRT the assembly differences on MIPS Bernd referred to; what ultimately > caused this problem were two dead insns that had been previously > e

Re: introduce --param max-vartrack-expr-depth

2011-05-30 Thread Bernd Schmidt
On 05/30/2011 12:35 PM, Alexandre Oliva wrote: > One of my patches for PR 48866 regressed guality/asm-1.c on > x86_64-linux-gnu because what used to be a single complex debug value > expression became a chain of debug temps holding simpler expressions, > and this chain exceeded the default recursio

[PATCH] Fix PR49218

2011-05-30 Thread Richard Guenther
This fixes PR49218 - we have to be careful to catch all overflow cases when forcing a signed/unsigned double-int to a tree. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk and branch. Richard. 2011-05-30 Richard Guenther PR tree-optimization/49218 * tre

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Eric Botcazou
> This should be cfa_base_rtx instead of arg_pointer_rtx, or the condition > should test that cfa_base_rtx == arg_pointer_rtx. We don't have a dynamic > stack realignment target which defines FRAME_POINTER_CFA_OFFSET right now, > but what if one day such target is added or just dynamic realignment

[PR48866] three alternative fixes

2011-05-30 Thread Alexandre Oliva
I have 3 different, mutually exclusive patches that fix PR 48866. The problem is exponential time while dealing with an expression that resulted from a long chain of replaceable insns with memory accesses moved past the debug insns referring to their results. 1. emit debug temps for replaceable D

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Jakub Jelinek
On Mon, May 30, 2011 at 01:16:13PM +0200, Eric Botcazou wrote: > > This should be cfa_base_rtx instead of arg_pointer_rtx, or the condition > > should test that cfa_base_rtx == arg_pointer_rtx. We don't have a dynamic > > stack realignment target which defines FRAME_POINTER_CFA_OFFSET right now, >

Re: [PR48866] three alternative fixes

2011-05-30 Thread Alexandre Oliva
On May 30, 2011, Alexandre Oliva wrote: > 1. emit debug temps for replaceable DEFs that end up being referenced in > debug insns. We already have some code to try to deal with this, but it > emits the huge expressions we'd rather avoid, and it may create > unnecessary duplication. This new appr

Re: [PATCH] Handle fractional exponents in gimple_expand_builtin_pow (PR46728 patch 5)

2011-05-30 Thread Richard Guenther
On Sun, May 29, 2011 at 7:06 PM, William J. Schmidt wrote: > This patch adds support for fractional exponents C where 2C or 3C is > equivalent to an integer.  There is one FIXME in place for the issue > previously noted with respect to tree_expr_nonnegative_p, which I plan > to look at later this

Re: [PR48866] three alternative fixes

2011-05-30 Thread Alexandre Oliva
On May 30, 2011, Alexandre Oliva wrote: > 2. emit placeholders for replaceable DEFs and, when the DEFs are > expanded at their point of use, emit the expansion next to the > placeholder, rather than at the current stream. The result of the > expansion is saved and used in debug insns that refere

[committed] Fix ICE on OpenMP clause in template (PR c++/49223)

2011-05-30 Thread Jakub Jelinek
Hi! finish_omp_clauses calls require_complete_type, but that returns t immediately if processing_template_decl, so we need to check COMPLETE_TYPE_P before calling cxx_omp_create_clause_info. Additionally, for copyin/copyprivate we need to call require_complete_type too. While the OpenMP standard

Re: [PR48866] three alternative fixes

2011-05-30 Thread Alexandre Oliva
On May 30, 2011, Alexandre Oliva wrote: > 3. expand dominators before dominated blocks, so that DEFs of > replaceable SSA names are expanded before their uses. Expand them when > they're encountered, but not requiring a REG as a result. Save the RTL > expression that results from the expansion

[Patch, Fortran] Support static coarrays with "automatic" cobounds

2011-05-30 Thread Tobias Burnus
gfortran currently rejects: subroutine foo(n) integer, SAVE :: foo(500)[n, *] claiming that as SAVE does not work with automatic arrays. The latter is correct. ("C513 An automatic object shall not have the SAVE attribute.") However, I would argue that "foo" is not an automatic object and th

Re: [PATCH PR45098, 7/10] Nowrap limits iterations

2011-05-30 Thread Zdenek Dvorak
Hi, > > The header block of the loop is bb 4, the latch block is bb 3: > > ... > > (gdb) p loop.header.index > > $4 = 4 > > (gdb) p loop.latch.index > > $5 = 3 > > ... > > > > The number of times the latch edge is executed, is 10. > > > > But loop->nb_iterations_upper_bound, or max_niter is 11:

Re: [PATCH] PR debug/49047 (linkage name missing for cdtors)

2011-05-30 Thread Dodji Seketeli
Jason Merrill a écrit: > I think that we only generate debug info for a function if we emit it, > so it should always have pc attributes. But you could try adding an > assert to see if I'm right. Indeed. I have put the exploratory assert there and it did bootstrap fine. > >> + if (TREE_P

[PATCH] Fix PR49210

2011-05-30 Thread Richard Guenther
IPA-SPLIT when inserting the call to the split part of the function does not care for the possibility that its result may not be convertible to the result holding variable. The following fixes that. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2011-05-30 Ric

Re: Deprecating mips-openbsd

2011-05-30 Thread Otto Moerbeek
On Mon, May 30, 2011 at 10:09:59AM +0200, Rainer Orth wrote: > Richard Sandiford writes: > > > Index: gcc/config.gcc > > === > > --- gcc/config.gcc 2011-05-28 09:00:32.0 +0100 > > +++ gcc/config.gcc 2011-05-28 09:00:45.000

Re: [PR48866] three alternative fixes

2011-05-30 Thread Michael Matz
Hi, On Mon, 30 May 2011, Alexandre Oliva wrote: > > 3. expand dominators before dominated blocks, so that DEFs of > >replaceable SSA names are expanded before their uses. Expand them > >when they're encountered, but not requiring a REG as a result. > >Save the RTL expression that

Re: [testsuite] Provide TLS access model testcases

2011-05-30 Thread Rainer Orth
Kaz Kojima writes: > gcc.dg/torture/tls/run-gd.c fails on SH because SH assumes > -fpic for global and local dynamic tls models. Although a line > > /* { dg-options "-fpic" { target sh*-*-* } } */ > > added to run-gd.c and run-ld.c tests looks enough for SH, > I guess that target fpic instead of

Re: [build] Move Solaris 2 startup files to toplevel libgcc, revised

2011-05-30 Thread Rainer Orth
Eric Botcazou writes: >> * Non-Solaris SPARC changes: >> >> After I had moved sparc/sol2-c[in].asm to libgcc, I noticed that >> despite the name a few non-Solaris targets uses those files, too: >> >> sparc-*-elf*, sparc-*-rtems*, sparc64-*-elf*, sparc64-*-rtems* > > Yes, I tried to untangle

[PATCH] Another LTO type merging cleanup

2011-05-30 Thread Richard Guenther
This structures field and union type member comparison in a way to make obvious which comparisons are for field-decls and which are for the rest. LTO Profile-bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2011-05-30 Richard Guenther * gimple.c (gimpl

Cleanup gmon-sol2.c

2011-05-30 Thread Rainer Orth
Once the Solaris 2 toplevel libgcc patch http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00098.html is in which contains an initial merge of the i386 and sparc versions of gmon-sol2.c, there's considerable cleanup potential: indentation was completely inconsistent with several different styl

[build] Move IRIX 6 startup files to toplevel libgcc

2011-05-30 Thread Rainer Orth
Once the Solaris 2 toplevel libgcc patch http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00098.html is in, IRIX 6 can follow. The straightforward patch below handles this. Only two issues are noteworthy: * Support for the O32 ABI in the startup files has been removed since that ABI has

[build] Move Tru64 UNIX startup files to toplevel libgcc

2011-05-30 Thread Rainer Orth
This patch completes my series of patches to move startup files etc. to toplevel libgcc: http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00098.html http://gcc.gnu.org/ml/gcc-patches/2011-05/msg02337.html There are a few parts that require approval: * The gcc/mkmap-flat.awk change ne

Re: [patch] Fix var-tracking with dynamic stack realignment on x86

2011-05-30 Thread Eric Botcazou
> I think re-test is just waste of cycles, as you know cfa_base_rtx is > arg_pointer_rtx on both x86_64 and i686 (it is frame_pointer_rtx only on > pa, vax and rx). IMHO just testing if var-tracking still compiles without > warnings ought to be enough. Alright, quickstrapped and guality-regtested

[testsuite] Run TLS torture tests with -fpic etc.

2011-05-30 Thread Rainer Orth
As suggested by Joseph, the gcc.dg/torture/tls tests should be run with -fpic/-fPIC and -fpie/-fPIE if supported. The patch below implements part of this. Unlike gcc.dg/torture/stackalign/stackalign.exp, I'm using the code below to add -fpic etc. to the torture options so it shows up in gcc.sum.

[Patch, Fortran] Coarray - fix assumed-shape cobounds

2011-05-30 Thread Tobias Burnus
Simple patch, which requires the previous patch at http://gcc.gnu.org/ml/fortran/2011-05/msg00231.html OK for the trunk? Tobias 2011-05-30 Tobias Burnus PR fortran/18918 * trans-array.c (gfc_trans_dummy_array_bias): Handle cobounds of assumed-shape arrays. 2011-05-30 Tobias Burn

[PATCH][1/n] Cleanup tree forwprop

2011-05-30 Thread Richard Guenther
As I've been there a few times recently I saw the main structure of the pass has become quite messy given we now use forwprop as container for all sorts of fold/combine like optimizations. Thus this patch starts to clean up things (a bit) by separating the stmt walks for both and for combining ma

[build] Move MD_UNWIND_SUPPORT to toplevel libgcc

2011-05-30 Thread Rainer Orth
Once the initial Solaris 2 toplevel libgcc move http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00098.html is complete, there are only two macros left that could be moved for my targets: MD_UNWIND_SUPPORT (handled in this patch) and ENABLE_EXECUTE_STACK (in a followup). The following patch

[build] Move ENABLE_EXECUTE_STACK to toplevel libgcc

2011-05-30 Thread Rainer Orth
This is my hopefully last patch for toplevel libgcc moves: it moves ENABLE_EXECUTE_STACK to $target-lib.h headers in libgcc/config. Since gcc/config/sol2.h is only used on Solaris targets anymore and Solaris 8 is the minimal supported version, I've removed both a Solaris 2.6 workaround and include

Re: Deprecating mips-openbsd

2011-05-30 Thread Richard Sandiford
Rainer Orth writes: > Richard Sandiford writes: >> Index: gcc/config.gcc >> === >> --- gcc/config.gcc 2011-05-28 09:00:32.0 +0100 >> +++ gcc/config.gcc 2011-05-28 09:00:45.0 +0100 >> @@ -240,6 +240,7 @@ case ${tar

Re: Deprecating mips-openbsd

2011-05-30 Thread Richard Sandiford
Otto Moerbeek writes: > On Mon, May 30, 2011 at 10:09:59AM +0200, Rainer Orth wrote: >> Richard Sandiford writes: >> >> > Index: gcc/config.gcc >> > === >> > --- gcc/config.gcc 2011-05-28 09:00:32.0 +0100 >> > +++ gcc/config

[v3] implement allocator-extended constructors in

2011-05-30 Thread Jonathan Wakely
2011-05-30 Jonathan Wakely * include/std/tuple: Implement uses-allocator construction. * include/bits/allocator.h (uses_allocator): Move to ... * include/bits/uses_allocator.h: New file. * include/Makefile.am: Add new header. * include/Makefile.in: Regene

Re: [patch, ARM] Fix PR48808, PR48792: More work on CANNOT_CHANGE_MODE_CLASS

2011-05-30 Thread Richard Sandiford
Richard Sandiford writes: > Eric Botcazou writes: >>> Something like the attached patch. Not tested yet, and I'm sure >>> it'll break things in lots of fun and interesting ways... >> >> Mind posting a (temporarily) definitive version? I'll give it a whirl on >> the >> SPARC and IA-64 to see h

Re: [PATCH, SMS 2/4] Move the creation of anti-dep edge

2011-05-30 Thread Revital Eres
Hello, > > OK, this makes sense. Just to re-confirm, the exact same edges are created > in both cases, right? No, sorry for not been more clear on this. The previous implementation will actually create redundant anti-dep edges. This happens when the definition that is used in jump_insn is define

[google] static function promotion improvement patch for LIPO (issue4517117)

2011-05-30 Thread David Li
The following patch will be committed to google/main. It improves performance of internal benchmarks significantly. This is a patch that improves static function promotion in LIPO mode. 1) Do not promote non address taken static functions -- this greately reduce the number of promotions and allow

Re: [build] Move ENABLE_EXECUTE_STACK to toplevel libgcc

2011-05-30 Thread Kai Tietz
- Original Message - From: "Rainer Orth" To: gcc-patches@gcc.gnu.org Cc: "Joseph S. Myers" , "Paolo Bonzini" , "Ralf Wildenhues" , "Mike Stump" , "Loren J. Rittle" , "Kai Tietz" , "Dave Korn" , "Jason Thorpe" , "Krister Walfridsson" , "Uros Bizjak" , "Richard Henderson" , "Eric Botca

Re: [build] Move MD_UNWIND_SUPPORT to toplevel libgcc

2011-05-30 Thread Kai Tietz
- Original Message - From: "Rainer Orth" To: gcc-patches@gcc.gnu.org Cc: "Joseph S. Myers" , "Paolo Bonzini" , "Ralf Wildenhues" , "Douglas Rupp" , "Tristan Gingold" , "John David Anglin" , "Steve Ellcey" , "Kai Tietz" , "Dave Korn" , "Mike Stump" Sent: Monday, May 30, 2011 5:43:22 P

[PATCH] Fix ipa_reduced_postorder with respect to overwritable functions

2011-05-30 Thread Martin Jambor
Hi, I ran into issues caused by ipa_reduced_postorder not really topologically sorting functions while compiling some part of the java library (yes, this is the first time java has caught a bug for me). The problem was that all the functions are apparently AVAIL_OVERWRITABLE and even though I have

[PATCH] Fix up rv1.C with -gdwarf-4 -fno-debug-types-section

2011-05-30 Thread Jakub Jelinek
Hi! Whether DW_TAG_rvalue_reference_type or DW_TAG_reference_type should be emitted for rvalue references shouldn't depend on whether .debug_types section is emitted or not, it should depend just on whether emitting DWARF4+ or not. Ok for trunk? 2011-05-30 Jakub Jelinek * dwarf2out.c

[PATCH] Make ipa_reduced_postorder number SCCs

2011-05-30 Thread Martin Jambor
Hi, for an IPA-CP rewrite that I now work on, it is often useful to look at a call graph edge and see whether both ends are in the same strongly connected component. At the moment ipa_reduced_postorder does not offer such capabilities but it is easy to add. It is enough to save the lowest DFS nu

Re: [PATCH] Fix up rv1.C with -gdwarf-4 -fno-debug-types-section

2011-05-30 Thread Mark Wielaard
On Mon, 2011-05-30 at 20:09 +0200, Jakub Jelinek wrote: > Whether DW_TAG_rvalue_reference_type or DW_TAG_reference_type > should be emitted for rvalue references shouldn't depend on > whether .debug_types section is emitted or not, it should > depend just on whether emitting DWARF4+ or not. Urgh,

Re: [patch, ARM] Fix PR48808, PR48792: More work on CANNOT_CHANGE_MODE_CLASS

2011-05-30 Thread Eric Botcazou
> * reload.c (push_reload): Check contains_reg_of_mode. > * reload1.c (strip_paradoxical_subreg): New function. > (gen_reload_chain_without_interm_reg_p): Use it to handle > paradoxical subregs. > (emit_output_reload_insns, gen_reload): Likewise. Testing (not a full c

Re: [PATCH] Fix up rv1.C with -gdwarf-4 -fno-debug-types-section

2011-05-30 Thread Jason Merrill
OK. Jason

[pph] Update streaming of cxx_binding and c_language_function

2011-05-30 Thread Diego Novillo
This patch updates the streaming of these two structures to reflect changes in trunk. Tested and submitted together with the latest merge. Diego. ALLOC_AND_REGISTER. (pph_stream_read_label_binding): Likewise. (pph_stream_read_class_binding): Likewise. Do not mem

Re: __sync_swap* with acq/rel/full memory barrier semantics

2011-05-30 Thread Andrew MacLeod
On 05/23/2011 07:05 PM, Joseph S. Myers wrote: On Mon, 23 May 2011, Aldy Hernandez wrote: This is a patch implementing builtins for an atomic exchange with full, acquire, and release memory barrier semantics. It is similar to __sync_lock_test_and_set(), but the target does not have the option

[pph] Update LTO_tags values

2011-05-30 Thread Diego Novillo
Not directly related to the merge, but I found this out while fixing it. We don't need to force the value for LTO_NUM_TAGS and LTO_LAST_TAG is unnecessary. Tested and committed together with the latest merge. Diego. Do not force the value on LTO_NUM_TAGS. --- gcc/ChangeLog.pph |

[pph/trunk] Fix enum streaming

2011-05-30 Thread Diego Novillo
This fixes the issue I mentioned in http://gcc.gnu.org/ml/gcc/2011-05/msg00325.html. When enum values are bigger than 255, lto_output_int_in_range was not splitting up the values properly. Additionally, when LTO_tags has more than 255 values (like it does on the PPH) branch, output_record_start()

Re: [v3] implement allocator-extended constructors in

2011-05-30 Thread H.J. Lu
On Mon, May 30, 2011 at 9:32 AM, Jonathan Wakely wrote: > 2011-05-30  Jonathan Wakely   > >        * include/std/tuple: Implement uses-allocator construction. >        * include/bits/allocator.h (uses_allocator): Move to ... >        * include/bits/uses_allocator.h: New file. >        * include/Ma

Re: New options to disable/enable any pass for any functions (issue4550056)

2011-05-30 Thread Xinliang David Li
The attached are two simple follow up patches 1) the first patch does some refactorization on function header dumping (with more information printed) 2) the second patch cleans up some pass names. Part of the cleanup results from a previous discussion with Honza -- a) rename 'tree_profile_ipa' in

Re: [pph/trunk] Fix enum streaming

2011-05-30 Thread Richard Guenther
On Mon, May 30, 2011 at 10:13 PM, Diego Novillo wrote: > This fixes the issue I mentioned in > http://gcc.gnu.org/ml/gcc/2011-05/msg00325.html.  When enum > values are bigger than 255, lto_output_int_in_range was not > splitting up the values properly. > > Additionally, when LTO_tags has more than

[PATCH, i386]: Avoid partial memory stalls for FP moves and related FP immediate cleanups

2011-05-30 Thread Uros Bizjak
Hello! Attached patch prevents partial memory stalls for XFmode and DFmode (32bit) immediate->memory moves by penalizing memory target in case of immediate move. The patch also cleans move splitters that handle immediate operands (most notably, there are no FP subregs after the reload pass; ix86_s

[google] backport 174423, 174424 to google/main

2011-05-30 Thread Xinliang David Li
Committed. David

Re: Sched patch: better condition mutex testing

2011-05-30 Thread Vladimir Makarov
On 05/27/2011 04:14 AM, Bernd Schmidt wrote: When regrename is enabled, it makes new copies of its replacement registers, which means that pointer equality tests can't be used afterwards to check whether two regs are equal. sched_insn_conditions_mutex_p has one such test, and it causes pessimized

Re: New options to disable/enable any pass for any functions (issue4550056)

2011-05-30 Thread Xinliang David Li
This is the complete patch for pass name fixes (with test case changes). David On Mon, May 30, 2011 at 1:16 PM, Xinliang David Li wrote: > The attached are two simple follow up patches > > 1) the first patch does some refactorization on function header > dumping (with more information printed)

Re: [testsuite] Provide TLS access model testcases

2011-05-30 Thread Kaz Kojima
Rainer Orth wrote: > Given that this seems to be target-specific, unless we can identify a > common feature of these targets, I'd rather see us xfail or skip the > tests on a per-target basis. > > In addition, I've got a patch in the works that cycles the > gcc.dg/torture/tls tests through -fpic/

Re: [v3] implement allocator-extended constructors in

2011-05-30 Thread Jonathan Wakely
On 30 May 2011 21:14, H.J. Lu wrote: > On Mon, May 30, 2011 at 9:32 AM, Jonathan Wakely > wrote: >> 2011-05-30  Jonathan Wakely   >> >>        * include/std/tuple: Implement uses-allocator construction. >>        * include/bits/allocator.h (uses_allocator): Move to ... >>        * include/bits/u

Fix PR target/49186

2011-05-30 Thread Kaz Kojima
Hi, sh.c:expand_cbranchdi4 forgot to produce the code for comparing high 32-bit parts when the second operand is a constant of which high 32-bit part is zero. The attached patch is to fix it and adds a new test for this PR. Tested sh4-unknown-linux-gnu and i686-pc-linux-gnu with no new regression

Re: [v3] implement allocator-extended constructors in

2011-05-30 Thread Jonathan Wakely
2011-05-31 Jonathan Wakely * include/std/tuple: Restore is_convertible constraint. * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove. Paolo explained some details about the constraints on the tuple constructor and I'm reverting the part of change from is_convertibl

[v3] More work on std::tuple (and pair)

2011-05-30 Thread Paolo Carlini
Hi, this improves the constraining in std::tuple (and in principle should render redundant the 1-element spec modulo c++/49225) and also tweak std::pair to use __and_ in order to minimize the number of instantiations. Plus smaller changes. Tested x86_64-linux, committed to mainline. Paolo.

Re: [patch] Fix PR tree-optimization/49038

2011-05-30 Thread H.J. Lu
On Thu, May 26, 2011 at 12:52 AM, Ira Rosen wrote: > Hi, > > The vectorizer supports strided loads with gaps, e.g., when only a[4i] > and a[4i+2] are accessed, it generates a vector load a[4i:4i+3], i.e., > creating an access to a[4i+3], which doesn't exist in the scalar code. > This access maybe

[C++ Patch] fix PR c++/48010

2011-05-30 Thread Fabien Chêne
Hi, The problem here is that the typedef overrides the previous type. To avoid that, we have to check that the new DECL is not a type. Some code uses supplement_binding to 'refine' the binding, so if the new DECL is a type and is of the same type than the old binding, then supplement_binding succe

Go patch committed: Correct -fdump-go-spec name

2011-05-30 Thread Ian Lance Taylor
This trivial patch corrects the name that -fdump-go-spec uses for an anonymous field. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2011-05-30 Ian Lance Taylor * godump.c (go_format_type): Correct length of name added to obstack f

Backport the fix for PR47714 to the 4.5 branch

2011-05-30 Thread Duncan Sands
The following patch backports the one-line fix for PR47714 from the 4.6 branch to the 4.5 branch. I hit this while working on the dragonegg plugin. OK to apply? Ciao, Duncan. Index: gcc/cp/method.c === --- gcc/cp/method.c (rev

Re: Backport the fix for PR47714 to the 4.5 branch

2011-05-30 Thread Jakub Jelinek
On Tue, May 31, 2011 at 08:35:35AM +0200, Duncan Sands wrote: > The following patch backports the one-line fix for PR47714 from the 4.6 branch > to the 4.5 branch. I hit this while working on the dragonegg plugin. OK to > apply? Yes. > Index: gcc/cp/method.c > ==