Re: [PATCH] Some vector cost model cleanup

2012-06-14 Thread Richard Guenther
On Wed, 13 Jun 2012, William J. Schmidt wrote: > This is just some general maintenance to the vectorizer's cost model > code: > > * Corrects a typo in a function name; > * Eliminates an unnecessary function; > * Combines some duplicate inline functions. > > Bootstrapped and tested on powerpc6

Re: [SH] PR 53568 - Add support for bswap built-ins

2012-06-14 Thread Richard Guenther
On Thu, Jun 14, 2012 at 4:39 AM, Kaz Kojima wrote: > Oleg Endo wrote: >> The attached patch improves code generated for byte swap expressions >> such as ((x & 0xFF) << 8) | ((x >> 8) & 0xFF). >> It seems that currently the tree optimizers only detect bswap32 and >> bswap64 but not bswap16 pattern

Re: [PATCH] Add option for dumping to stderr (issue6190057)

2012-06-14 Thread Richard Guenther
On Thu, Jun 14, 2012 at 8:58 AM, Sharad Singhai wrote: > Thanks for your comments. Responses inline. > > On Wed, Jun 13, 2012 at 4:48 AM, Richard Guenther > wrote: >> On Fri, Jun 8, 2012 at 7:16 AM, Sharad Singhai wrote: >>> Okay, I have updated the attached patch so that the output from >>> -ft

Re: [PATCH, i386]: Back port Fix PR 52908 - xop-mul-1:f9 miscompiled on bulldozer (-mxop) to 4.7

2012-06-14 Thread Uros Bizjak
On Thu, Jun 7, 2012 at 1:33 PM, Jakub Jelinek wrote: > On Thu, Jun 07, 2012 at 06:07:18AM -0500, venkataramanan.ku...@amd.com wrote: >> Please find the patch below that backports PR target/52908 to GCC 4.7. >> >> The patch passed bootstrap and regression test. >> >> Ok to commit? > > Please wait w

long long availability in host compiler (Re: constant that doesn't fit in 32bits in alpha.c)

2012-06-14 Thread Pedro Alves
On 06/13/2012 10:35 PM, Richard Henderson wrote: > On 2012-06-13 02:13, Pedro Alves wrote: >> Related, does gcc forbid "long long" / ULL ? > > > Normally, yes. The vmsdbgout.c file seems to use it all over though. And git blame shows: 8d60d2bc (kenner 2001-12-02 14:38:07 + 41) /* Dif

Re: long long availability in host compiler (Re: constant that doesn't fit in 32bits in alpha.c)

2012-06-14 Thread Tristan Gingold
On Jun 14, 2012, at 11:12 AM, Pedro Alves wrote: > On 06/13/2012 10:35 PM, Richard Henderson wrote: > >> On 2012-06-13 02:13, Pedro Alves wrote: >>> Related, does gcc forbid "long long" / ULL ? >> >> >> Normally, yes. The vmsdbgout.c file seems to use it all over though. > > > And git blame

[arm] Remove obsolete FPA support (2/n): Remove command-line options

2012-06-14 Thread Richard Earnshaw
This patch removes the command line options that enabled generation of FPA and maverick instructions, along with their associated documentation. * arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options. * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types. * a

[PATCH] Testcase for VRP range-anti-range merging

2012-06-14 Thread Richard Guenther
Tested on x86_64-unknown-linux-gnu, applied. Richard. 2012-06-14 Richard Guenther * gcc.dg/tree-ssa/vrp.h: New testcase. * gcc.dg/tree-ssa/vrp68.c: Likewise. Index: gcc/testsuite/gcc.dg/tree-ssa/vrp.h === --- gc

Re: long long availability in host compiler (Re: constant that doesn't fit in 32bits in alpha.c)

2012-06-14 Thread Pedro Alves
On 06/14/2012 10:20 AM, Tristan Gingold wrote: > > On Jun 14, 2012, at 11:12 AM, Pedro Alves wrote: >> And git blame shows: >> >> 8d60d2bc (kenner 2001-12-02 14:38:07 + 41) /* Difference in seconds >> between the VMS Epoch and the Unix Epoch */ >> 8d60d2bc (kenner 2001-12-02 14:38:07

[PATCH, GCC][AArch64] Fix bound check diagnostics.

2012-06-14 Thread Sofiane Naci
Hi, This patch improves bound check diagnostics code. Thanks Sofiane - 2012-06-13 Sofiane Naci [AArch64] Fix bound check diagnostics. * gcc/config/aarch64/aarch64.c (bounds_check): Remove. (aarch64_simd_lane_bounds): Replace call to bounds_check w

Fix PR c++/19351 (operator new[] overflow)

2012-06-14 Thread Florian Weimer
This is another attempt at ensuring that operator new[] always returns a block of sufficient size. This is on top of my previous patch rejecting VLA allocations: http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00616.html Bootstrapped and tested on x86_64-linux-gnu. -- Florian Weimer / Red Hat Pro

[PATCH][AARCH64]: Add missing AdvSIMD intrinsics - vmlsq_laneq_*.

2012-06-14 Thread Tejas Belagod
Hi, This patch adds missing AdvSIMD intrinsics vmlsq_laneq_<16,32> to arm_neon.h. OK? Thanks, Tejas Belagod ARM. Changelog: 2012-06-14 Tejas Belagod gcc/ * config/aarch64/arm_neon.h (vmlsq_laneq_f32, vmlsq_laneq_s16, vmlsq_laneq_u16, vmlsq_laneq_s32, vmlsq_laneq_u32): New

[PATCH][AARCH64]: Remove vpadd_f64 from arm_neon.h.

2012-06-14 Thread Tejas Belagod
Hi, This patch removes vpadd_f64 from arm_neon.h because the definition is incorrect and it should be vpaddq_f64 which is defined elsewhere in the same header. OK? Thanks, Tejas. Changelog: 2012-06-14 Tejas Belagod gcc/ * config/aarch64/arm_neon.h (vpadd_f64): Remove.diff --git

Re: [PATCH][AARCH64]: Remove vpadd_f64 from arm_neon.h.

2012-06-14 Thread Marcus Shawcroft
On 14/06/12 11:15, Tejas Belagod wrote: Hi, This patch removes vpadd_f64 from arm_neon.h because the definition is incorrect and it should be vpaddq_f64 which is defined elsewhere in the same header. OK? Thanks, Tejas. Changelog: 2012-06-14 Tejas Belagod gcc/ * config/aarch64/arm

[Ada] Funalization of controlled function results in conditional expression

2012-06-14 Thread Arnaud Charlet
This patch adds logic to postpone the finalization of temporary controlled function results in the context of conditional expressions because the results are finalized too early. -- Source -- -- types.ads with Ada.Finalization; use Ada.Finalization; package Types is

[Ada] Delay of aspect specification evaluation

2012-06-14 Thread Arnaud Charlet
This patch restores the original error messages for duplicated pragma and attribute definition clause and cleans up the ??? comments. Tested on x86_64-pc-linux-gnu, committed on trunk 2012-06-14 Vincent Pucci * einfo.adb einfo.ads (Get_Rep_Item): Removed. (Get_Rep_Item_For_En

[Ada] Fix crash in gnatname due to uninitialized variable

2012-06-14 Thread Arnaud Charlet
No functional change. Tested on x86_64-pc-linux-gnu, committed on trunk 2012-06-14 Tristan Gingold * gnatname.adb (Gnatname): Make sure that dynamic table argument_data is initialized. Index: gnatname.adb === ---

[Ada] Attribute and pragma for lock-free implementation

2012-06-14 Thread Arnaud Charlet
This patch implements a Lock_Free pragma for Ada2005 usage and a Lock_Free attribute for user query. The test provided below illustrates the usage of both Lock_Free pragma and attribute. - -- Source -- - with Text_IO; use Text_IO; procedure Main is protected type Cou

[Ada] Mode conformance for Ada 2012 aliased formal parameters

2012-06-14 Thread Arnaud Charlet
In Ada 2012 formal parameters can be declared explicitly aliased. Mode conformance now requires that both or neither formal be aliased. Compiling alias.adb must yield: alias.adb:7:13: not fully conformant with declaration at line 6 alias.adb:7:13: aliased parameter mismatch alias.ads:7:24: not su

[Ada] Freezing nodes placement fixed with quantified expression inside an expression function.

2012-06-14 Thread Arnaud Charlet
This patch implements the correct freezing actions in the context of a quantified expression inside an expression function. Tested on x86_64-pc-linux-gnu, committed on trunk 2012-06-14 Vincent Pucci * freeze.adb (In_Exp_Body): Expression function case added. (Freeze_Expression

[Ada] Checking for eliminated subprograms

2012-06-14 Thread Arnaud Charlet
A reference to a subprogram that appears in a pragma Eliminate is not an error if it appears within a default expression: the enclosing subprogram may itself be eliminated. Previous to this patch, the check for default expressions was performed when resolving a call, but not for attribute reference

GCC 4.7.2 Status Report (2012-06-14)

2012-06-14 Thread Richard Guenther
Status == The GCC 4.7.1 release tarballs have been created and are being uploaded to ftp.gnu.org right now. The GCC 4.7 branch is thus open again for regression and documentation fixes. Quality Data Priority # Change from Last Report --- -

[Patch] Propagate vector constants into VEC_PERM_EXPR while lowering.

2012-06-14 Thread Ramana Radhakrishnan
Hi, This patch allows propagation of vector constants into VEC_PERM_EXPRs in lower_vec_perm, motivation explained in http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00615.html Bootstrapped and regression tested on gcc110.fsffrance.org . Ok ? regards, Ramana * tree-vect-generic.c (lower_vec_per

Re: [Patch] Propagate vector constants into VEC_PERM_EXPR while lowering.

2012-06-14 Thread Richard Guenther
On Thu, Jun 14, 2012 at 1:26 PM, Ramana Radhakrishnan wrote: > Hi, > > This patch allows propagation of vector constants into VEC_PERM_EXPRs > in lower_vec_perm, motivation explained in > http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00615.html > > Bootstrapped and regression tested on gcc110.fsffr

Ping: [PATCH] Add implicit C linkage for win32-specific entry points

2012-06-14 Thread NightStrike
Eric, Jacek Caban sent this: http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01987.html in response to this: http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01986.html But it never got reviewed. Could you review and commit?

[PATCH, GCC][AArch64] Update LINK_SPEC

2012-06-14 Thread Sofiane Naci
Hi, This patch updates LINK_SPEC in the AArch64 port. Thanks Sofiane - 2012-06-14 Sofiane Naci [AArch64] Update LINK_SPEC. * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Remove %{version:-v}, %{b} and %{!dynamic-linker}. aarch64-linux-specs.patch De

[Ada] Add support for --program-prefix

2012-06-14 Thread Arnaud Charlet
Take into account the prefix specified with --program-prefix when installing and uninstalling the Ada tools. Tested on x86_64-pc-linux-gnu, committed on trunk 2012-06-14 Jose Ruiz * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): Use the prefix specified with t

[arm] Remove obsolete FPA support (3/n): Remove FPA patterns from MD files

2012-06-14 Thread Richard Earnshaw
This patch removes the define_insn and define_expand support for the FPA. Tested on arm-eabi and committed to trunk. * arm.md (divsf3, divdf3): Remove FPA support. (negsf2, negdf2): Likewise. (sqrtsf2, sqrtdf2): Likewise. (movdfcc): Likewise. (modsf3, moddf

Re: [Patch ping] Strength reduction

2012-06-14 Thread William J. Schmidt
Pro forma ping. :) Thanks, Bill On Sun, 2012-04-29 at 18:17 -0500, William J. Schmidt wrote: > Thought I'd ping http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01225.html > since it's been about six weeks. Any initial feedback would be very > much appreciated! > > Thanks, > Bill

Re: [PR49888, VTA] don't keep VALUEs bound to modified MEMs

2012-06-14 Thread H.J. Lu
On Tue, Jun 12, 2012 at 1:42 PM, Richard Henderson wrote: > On 2012-06-05 12:33, Alexandre Oliva wrote: >> for  gcc/ChangeLog >> from  Alexandre Oliva   >> >>       PR debug/49888 >>       * var-tracking.c: Include alias.h. >>       (overlapping_mems): New struct. >>       (drop_overlapping_mem_lo

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Michael Matz
Hi, [Honza, for you a question below] On Wed, 13 Jun 2012, Richard Guenther wrote: > > Was a non-implemented optimization.  If the compound literal value > > isn't used as lvalue and doesn't have its address taken (and generally > > fits the current predicate) we can as well subst it in place

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Jan Hubicka
> > if (!from_decl > ... > || (symtab_get_node (from_decl)->symbol.in_other_partition)) > return true; > > in can_refer_decl_in_current_unit_p. Honza: I don't understand this > particular condition. If we have a from_decl (i.e. the decl we're > concerned about stems

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Michael Matz
Hi, On Thu, 14 Jun 2012, Jan Hubicka wrote: > > if (!from_decl > > ... > > || (symtab_get_node (from_decl)->symbol.in_other_partition)) > > return true; > > > > in can_refer_decl_in_current_unit_p. Honza: I don't understand this > > particular condition. If we have a

Re: [Ada] Add support for --program-prefix

2012-06-14 Thread Joseph S. Myers
On Thu, 14 Jun 2012, Arnaud Charlet wrote: > Take into account the prefix specified with --program-prefix when installing > and uninstalling the Ada tools. > > Tested on x86_64-pc-linux-gnu, committed on trunk > > 2012-06-14 Jose Ruiz > > * gcc-interface/Make-lang.in (ada.install-commo

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Michael Matz
Hi, On Thu, 14 Jun 2012, Michael Matz wrote: > In any case, this patch is currently in regstrapping on x86-64. Okay if > it passes (modulo changes for the above symtab_get_node() issue)? After discussion with Honza, consider the patch changed like so: if (!from_decl || TREE_CODE (fr

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Jan Hubicka
> Hi, > > On Thu, 14 Jun 2012, Michael Matz wrote: > > > In any case, this patch is currently in regstrapping on x86-64. Okay if > > it passes (modulo changes for the above symtab_get_node() issue)? > > After discussion with Honza, consider the patch changed like so: > >if (!from_decl >

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Jakub Jelinek
On Mon, Jun 11, 2012 at 04:50:37PM +0200, Olivier Hainque wrote: > 2012-06-10 Olivier Hainque > > * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET). > (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to > GNATLIBCFLAGS_FOR_C passed to gnatlib. >

Re: [Ada] Add support for --program-prefix

2012-06-14 Thread Arnaud Charlet
> > Take into account the prefix specified with --program-prefix when > > installing > > and uninstalling the Ada tools. > > > > Tested on x86_64-pc-linux-gnu, committed on trunk > > > > 2012-06-14 Jose Ruiz > > > > * gcc-interface/Make-lang.in (ada.install-common, > > ada.uninstall):

Web patch committed: Clarify GCC 4.7.1 and Go 1

2012-06-14 Thread Ian Lance Taylor
I committed this patch to the web site to clarify that GCC 4.7.1 supports Go 1. Ian Index: changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v retrieving revision 1.117 diff -u -r1.117 changes.html --- changes.h

[arm] Remove obsolete FPA support (4/n): Remove Maverick patterns from MD files

2012-06-14 Thread Richard Earnshaw
This patch removes the define_insn and define_expand support for the obsolete Maverick co-processor. There's some necessary purging of code in arm.c as well (though the major cleanups here are still to come). Tested on arm-eabi and committed to trunk. * arm.c (arm_cirrus_insn_p): Delete.

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Olivier Hainque
Hello Jakub, On Jun 14, 2012, at 18:22 , Jakub Jelinek wrote: >> 2012-06-10 Olivier Hainque >> >>* Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET). > You've apparently committed during 4.7 branch freeze a variant of this > patch to the 4.7 branch as well, unfortunate

Re: debug insns in SMS

2012-06-14 Thread Ayal Zaks
Thanks for the duplicate ping. This is fine. So this indeed solves the discrepancy between running SMS w/ and w/o debugging? Please include a comment next to the code stating why it's important not to create such deps. You may also want to store the result of "DEP_PRO (dep)" in src_ and use it twic

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Jakub Jelinek
On Thu, Jun 14, 2012 at 06:53:46PM +0200, Olivier Hainque wrote: > On Jun 14, 2012, at 18:22 , Jakub Jelinek wrote: > > >> 2012-06-10 Olivier Hainque > >> > >>* Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET). > > > You've apparently committed during 4.7 branch freeze

Re: RFA: better gimplification of compound literals

2012-06-14 Thread Richard Guenther
On Thu, Jun 14, 2012 at 5:33 PM, Michael Matz wrote: > Hi, > > On Thu, 14 Jun 2012, Michael Matz wrote: > >> In any case, this patch is currently in regstrapping on x86-64.  Okay if >> it passes (modulo changes for the above symtab_get_node() issue)? > > After discussion with Honza, consider the p

Re: Web patch committed: Clarify GCC 4.7.1 and Go 1

2012-06-14 Thread Richard Guenther
On Thu, Jun 14, 2012 at 6:41 PM, Ian Lance Taylor wrote: > I committed this patch to the web site to clarify that GCC 4.7.1 > supports Go 1. Can you move that/add it to the sub-section for changes in 4.7.1? Thanks, Richard. > Ian >

[PATCH] ARM: exclude fixed_regs for stack-alignment save/restore

2012-06-14 Thread Roland McGrath
When the ARM compiler needs to ensure the stack pointer stays aligned and it's already doing a multi-register push/pop in the prologue and epilogue, it chooses some arbitrary register to add to the register set in that push and pop just to increase the size of the stack used by 4 bytes. This is pr

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Olivier Hainque
On Jun 14, 2012, at 19:00 , Jakub Jelinek wrote: > For reverting it is too late, 4.7.1 has been released already with the bug. > I'm already bootstrapping/regtesting the simple one-liner, if it works, will > post it. Thanks. So sorry again :-( Olivier

Re: [PATCH, MIPS] Add most common atomic patterns

2012-06-14 Thread Richard Sandiford
Richard Henderson writes: > On 2012-06-12 22:50, Maxim Kuvyrkov wrote: >> The third patch is a small optimization to alleviate >> __atomic_compare_exchange[_n] builtins being a use-one-for-all >> solutions. These builtins return both boolean "success" and "oldval" >> results. As most cases use o

[Dwarf Patch] Improve pubnames and pubtypes generation. (issue6197069)

2012-06-14 Thread Sterling Augustine
This is a revised edition of the fix pubnames patch discussed earlier; it addresses all the earlier comments made. This edition of the patch has three changes from the earlier one: 1. Fix a typo (anoymous -> anonymous). 2. Move enumerator names to pubnames from pubtypes. 3. Switch to using the co

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Jakub Jelinek
On Thu, Jun 14, 2012 at 07:17:24PM +0200, Olivier Hainque wrote: > > On Jun 14, 2012, at 19:00 , Jakub Jelinek wrote: > > For reverting it is too late, 4.7.1 has been released already with the bug. > > > I'm already bootstrapping/regtesting the simple one-liner, if it works, will > > post it. >

4.7 backports committed

2012-06-14 Thread Jakub Jelinek
Hi! I've committed following 3 backports to 4.7 branch after bootstrapping/regtesting it on x86_64-linux and i686-linux. Jakub 2012-06-14 Jakub Jelinek Backported from mainline 2012-06-06 Jakub Jelinek PR libgomp/52993 * config/linux/lock.c (gomp_in

Re: Web patch committed: Clarify GCC 4.7.1 and Go 1

2012-06-14 Thread Ian Lance Taylor
Richard Guenther writes: > On Thu, Jun 14, 2012 at 6:41 PM, Ian Lance Taylor wrote: >> I committed this patch to the web site to clarify that GCC 4.7.1 >> supports Go 1. > > Can you move that/add it to the sub-section for changes in 4.7.1? Done like so. Ian Index: changes.html ===

Re: divide 64-bit by constant for 32-bit target machines

2012-06-14 Thread Dinar Temirbulatov
Hi, OK for trunk? thanks, Dinar. On Tue, Jun 12, 2012 at 11:00 AM, Paolo Bonzini wrote: > Il 12/06/2012 08:52, Dinar Temirbulatov ha scritto: >>> is safe?  That is, that the underflows cannot produce a wrong result? > > [snip] > > Thanks very much! > > Paolo 2012-06-14 Dinar Temi

[PATCH. i386]: movd in zero_extend RTX is SSE2 instruction.

2012-06-14 Thread Uros Bizjak
Hello! movd to/from MMX or SSE registers is SSE2 instruction. Also, remove wrong x,x alternative. 2012-06-14 Uros Bizjak * config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives SSE2 only. Remove x,x alternative. (*zero_extendsidi2_rex64): Ditto. Bootstrappe

Re: [Ada] fix use of PICFLAG for Ada library variants

2012-06-14 Thread Olivier Hainque
On Jun 14, 2012, at 19:50 , Jakub Jelinek wrote: > Here is what I've committed as obvious after bootstrap/regtest on > x86_64-linux. > > 2012-06-14 Jakub Jelinek > > * gcc-interface/Makefile.in (gnatlib-shared-default): Append > $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed

Re: [PATCH. i386]: movd in zero_extend RTX is SSE2 instruction.

2012-06-14 Thread Uros Bizjak
On Thu, Jun 14, 2012 at 8:47 PM, Uros Bizjak wrote: > movd to/from MMX or SSE registers is SSE2 instruction. Also, remove > wrong x,x alternative. > > 2012-06-14  Uros Bizjak   > >        * config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives >        SSE2 only.  Remove x,x alternative

Go patch committed: Commit bug fixes to 4.7 branch

2012-06-14 Thread Ian Lance Taylor
I committed this patch to the 4.7 branch to bring in the accumulated bug fixes to the Go frontend and to libgo. This corresponds to these revisions on mainline: 188548 188547 188545 188496 188494 188482. Ian Index: gcc/go/gofrontend/gogo.cc ===

[RFA] dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.

2012-06-14 Thread Doug Evans
Hi. Ok to commit? 2012-06-14 Doug Evans * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index. Index: dwarf2.def === --- dwarf2.def (revision 188634) +++ dwarf2.def (working copy) @@ -588,6 +588,7 @@ DW_OP (DW_OP_GNU_parame

Re: [PATCH] ARM: exclude fixed_regs for stack-alignment save/restore

2012-06-14 Thread Mike Stump
On Jun 14, 2012, at 10:16 AM, Roland McGrath wrote: > But if e.g. I use -ffixed-r9 then I think it's a reasonable expectation > that no code is generated that touches r9 in any way, shape, or form. Also, I can't help but wonder if global_regs is respected. In theory, people are allowed to decla

Re: User directed Function Multiversioning via Function Overloading (issue5752064)

2012-06-14 Thread Sriraman Tallam
+cc c++ front-end maintainers Hi, C++ Frontend maintainers, Could you please take a look at the front-end part when you find the time? Honza, your thoughts on the callgraph part? Richard, any further comments/feedback? Additionally, I am working on generating better mangled names f

Re: [PATCH] ARM: exclude fixed_regs for stack-alignment save/restore

2012-06-14 Thread Roland McGrath
On Thu, Jun 14, 2012 at 1:13 PM, Mike Stump wrote: > On Jun 14, 2012, at 10:16 AM, Roland McGrath wrote: >> But if e.g. I use -ffixed-r9 then I think it's a reasonable expectation >> that no code is generated that touches r9 in any way, shape, or form. > > Also, I can't help but wonder if global_r

[v3] Update C++11 status table.

2012-06-14 Thread Jonathan Wakely
Another small patch to add some omissions to the C++11 status table. Tested x86_64-linux, committed to trunk. commit e6df5f90c8804a513c8790e1b5288b1398014f85 Author: redi Date: Thu Jun 14 20:32:11 2012 + * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table. git-

Re: [PATCH 1/3] Add atomic_compare_and_swap, atomic_exchange and atomic_fetch_add patterns.

2012-06-14 Thread Hans-Peter Nilsson
On Thu, 14 Jun 2012, Maxim Kuvyrkov wrote: > On 14/06/2012, at 6:33 AM, Richard Sandiford wrote: > > Maxim Kuvyrkov writes: > >> +/* Subroutines of the mips_process_sync_loop. > >> + Emit barriers as needed for the memory MODEL. */ > >> + > >> +static bool > >> +mips_emit_pre_atomic_barrier_p (

[PATCH] Improve pattern recognizer for division by constant (PR tree-optimization/51581)

2012-06-14 Thread Jakub Jelinek
Hi! This patch performs some of the expand_divmod tricks to expand integer division by constant using widening vector multiplication, some shifts and/or additions/subtractions. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2012-06-14 Jakub Jelinek PR tree-optim

[PATCH] Small tree-vect-pattern.c cleanup

2012-06-14 Thread Jakub Jelinek
Hi! While looking at pattern recognizer, I've noticed that we needlessly allocate a single member array from heap. An automatic variable for that would be fine, but BB_VINFO_BB is also addressable. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2012-06-14 Jakub Jelinek

[v3] fix PR 53648

2012-06-14 Thread Jonathan Wakely
Using the empty base-class optimization in std::tuple can result in ambiguous base classes when you have a tuple of tuples. This patch disables the EBO for tuple elements that are themselves tuples, with tuple_size > 1 (because for a zero-size tuple the base class will be _Tuple_impl<1> and the tup

[v3] PR 53270 fix hppa-linux bootstrap regression

2012-06-14 Thread Jonathan Wakely
We've known for ages that it's not portable to do: __gthread_mutex_t tmp = __GTHREAD_MUTEX_INIT; _M_mutex = __tmp; As PR 53270 shows, the copy assignment now actually fails in C++11 mode on platforms using LinuxThreads, because the mutex has a volatile member so in C++11 mode the copy assignment

[PATCH] Add a new option "-fstack-protector-strong" (issue 6303078)

2012-06-14 Thread shenhan
Reviewers: , Message: Hi, this is to port the patch from google/main to trunk, which provides a new stack protection option - "fstack-protector-strong". Previous review for google trunk is here - http://codereview.appspot.com/5461043 Status - it has been used in google/main for 2 quarters, buil

Re: [PATCH] Add a new option "-fstack-protector-strong" (issue 6303078)

2012-06-14 Thread Joseph S. Myers
On Thu, 14 Jun 2012, shen...@google.com wrote: > Hi, this is to port the patch from google/main to trunk, which provides > a new stack protection option - "fstack-protector-strong". If you are proposing a patch for trunk, please include the whole patch in the gcc-patches posting. > Detail - > h

[PATCH, TileGX] Committed fix for a typo bug

2012-06-14 Thread Maxim Kuvyrkov
Walter, While working on atomics for a different target, I've noticed below typo bug in TileGX. Patch checked in as obvious. Thank you, -- Maxim Kuvyrkov CodeSourcery / Mentor Graphics fsf-gcc-tile-sync.patch Description: Binary data

[patch committed libjava] Update sysdep/sh/locks.h with atomic builtins

2012-06-14 Thread Kaz Kojima
Hi, I've applied the attached patch which updates libjava/sysdep/sh/locks.h with new atomic builtins. Tested on sh4-unknown-linux-gnu with no new failures. Regards, kaz -- 2012-06-14 Kaz Kojima * sysdep/sh/locks.h (__cas_lock): Remove. (__cas_start_atomic, __cas_end_a

[PATCH] Unify emit_{pre,post}_atomic_barrier across Alpha, ARM, MIPS and TileGX

2012-06-14 Thread Maxim Kuvyrkov
As suggested by Hans-Peter this patch unifies logic for emitting pre- and post-barriers for atomic operations across Alpha, ARM, MIPS and TileGX. Currently these targets use copy-pasted switch statements and this patch cleans that up. I'm going to test this patch on MIPS, and I would appreciat

Re: [PATCH 1/3] Add atomic_compare_and_swap, atomic_exchange and atomic_fetch_add patterns.

2012-06-14 Thread Maxim Kuvyrkov
On 15/06/2012, at 8:51 AM, Hans-Peter Nilsson wrote: > On Thu, 14 Jun 2012, Maxim Kuvyrkov wrote: >> On 14/06/2012, at 6:33 AM, Richard Sandiford wrote: >>> Maxim Kuvyrkov writes: +/* Subroutines of the mips_process_sync_loop. + Emit barriers as needed for the memory MODEL. */ +

[PATCH] Add a new option "-fstack-protector-strong" (patch / doc inside)

2012-06-14 Thread 沈涵
Hi, This is to port the patch from google/main to trunk, which provides a new stack protection option - "fstack-protector-strong". Previous review for google trunk is here - http://codereview.appspot.com/5461043 Status - it has been used in google/main for 2 quarters, building the whole chromium

Re: [PATCH] Unify emit_{pre,post}_atomic_barrier across Alpha, ARM, MIPS and TileGX

2012-06-14 Thread Richard Henderson
On 2012-06-14 16:06, Maxim Kuvyrkov wrote: > 2012-06-15 Maxim Kuvyrkov > > * emit-rtl.c (need_atomic_barrier_p): New function. > * emit-rtl.h (need_atomic_barrier_p): Declare it. > * config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Remove, use > generic version in

Re: [PATCH] ARM: exclude fixed_regs for stack-alignment save/restore

2012-06-14 Thread Roland McGrath
Here's the version of the change that incorporates Mike's suggestion. Thanks, Roland gcc/ 2012-06-14 Roland McGrath * config/arm/arm.c (arm_get_frame_offsets): Never use a fixed register as the extra register to save/restore for stack-alignment padding. diff --git a/gcc/con

[v3] fix PR 53578 invalid narrowing conversion

2012-06-14 Thread Jonathan Wakely
This fixes an invalid narrowing conversion that causes problems when libstdc++ is used with clang++ on non-pthreads targets. PR libstdc++/53578 * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix narrowing conversion. * include/std/mutex (__recursive_mu

Re: [RFC C++] Turn on builtin_shuffle for C++.

2012-06-14 Thread Jason Merrill
OK. Jason

Change the ordering of cdce pass

2012-06-14 Thread Easwaran Raman
The conditional dead call elimination pass shrink wraps certain dead calls to math functions. It doesn't handle case like this: D.142420_139 = powD.549 (D.142421_138, D.142419_132); fooD.120935.barD.113815 = D.142420_139; # foo.bar is dead here. This code gets cleaned up by DCE and leaves only p

Re: Change the ordering of cdce pass

2012-06-14 Thread Easwaran Raman
ChangeLog entry has a gcc/ prefix that shouldn't be there. Here is the revised entry: 2012-06-14 Easwaran Raman * passes.c (init_optimization_passes): Remove pass_call_cdce from its current position and insert after pass_dce. On Thu, Jun 14, 2012 at 6:38 PM, Easwaran Raman

Re: [PATCH 1/3] Add atomic_compare_and_swap, atomic_exchange and atomic_fetch_add patterns.

2012-06-14 Thread Hans-Peter Nilsson
On Fri, 15 Jun 2012, Maxim Kuvyrkov wrote: > On 15/06/2012, at 8:51 AM, Hans-Peter Nilsson wrote: > > While you're editing in these parts, how about making this > > "bool emit_atomic_barrier_p (enum memmodel, bool pre)" and move it to > > the middle-end, say emit-rtl.c? > I've posted a separate pat

Ping*2: [RFA:] fix bug in configure header-probing for stack protector support in target C library

2012-06-14 Thread Hans-Peter Nilsson
> From: Hans-Peter Nilsson > Date: Fri, 8 Jun 2012 02:31:10 +0200 > > From: Hans-Peter Nilsson > > Date: Fri, 1 Jun 2012 01:38:22 +0200 > > > gcc: > > Fix configure test for "stack protector support in target C library". > > * configure.ac (test_prefix, test_exec_prefix): Move setting fr

[RFA:] Caveat for ARM in gcc-4.7/changes.html: unaligned accesses, take 2

2012-06-14 Thread Hans-Peter Nilsson
Y is 28 for introduction of the quoted code in arch/arm/mm/alignment.c, AFAICT, so how about this one, ok now? Index: changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v retrieving revision 1.113 diff -p -u -r1.1

Re: C++ PATCHes for core 1358, 1360, c++/50248 (constexpr, templates, default constructor)

2012-06-14 Thread H.J. Lu
On Mon, Sep 5, 2011 at 12:07 PM, H.J. Lu wrote: > On Sun, Sep 4, 2011 at 9:29 PM, Jason Merrill wrote: >> At the Bloomington C++ meeting we discussed some issues with the constexpr >> specification that the clang team encountered while trying to implement it. >>  Among the issues was a problem th

[PATCH][Cilkplus] Capturing Cilk Sync across templates

2012-06-14 Thread Iyer, Balaji V
Hello Everyone, This patch is for the Cilkplus branch affecting the C++ compler. The compiler was dropping the Cilk_sync across templates. This patch will preserve this. Thanking You, Yours sincerely, Balaji V. Iyer.

RE: [PATCH][Cilkplus] Capturing Cilk Sync across templates

2012-06-14 Thread Iyer, Balaji V
This time with the patch :-). -Balaji V. Iyer. From: Iyer, Balaji V Sent: Thursday, June 14, 2012 11:40 PM To: gcc-patches@gcc.gnu.org Subject: [PATCH][Cilkplus] Capturing Cilk Sync across templates Hello Everyone, This patch is for the Cilkplus branch

Re: Change the ordering of cdce pass

2012-06-14 Thread Xinliang David Li
It looks reasonable to move it after DCE which exposes more opportunities. David On Thu, Jun 14, 2012 at 6:38 PM, Easwaran Raman wrote: > The conditional dead call elimination pass shrink wraps certain dead > calls to math functions. It doesn't handle case like this: > > D.142420_139 = powD.549

Re: [PATCH 2/3] Add XLP-specific atomic instructions and tweaks.

2012-06-14 Thread Maxim Kuvyrkov
On 14/06/2012, at 7:01 AM, Richard Sandiford wrote: > Maxim Kuvyrkov writes: >> ... >> After a chat with Bernd Schmidt, this is not a bug. I've already fixed the >> patch per yours and Bernd's instructions. Do you want to look through an >> updated patch or should I just commit it after rete

Re: [PATCH] Add option for dumping to stderr (issue6190057)

2012-06-14 Thread Sharad Singhai
On Wed, Jun 13, 2012 at 4:48 AM, Richard Guenther wrote: > On Fri, Jun 8, 2012 at 7:16 AM, Sharad Singhai wrote: >> Okay, I have updated the attached patch so that the output from >> -ftree-vectorizer-verbose is considered diagnostic information and is >> always >> sent to stderr. Other functiona