Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Richard Kenner
> +@item -mjump-to-noreturn > +@opindex mjump-to-noreturn > +Use a jump instruction instead of a call instruction when calling a > +no-return functions. This option is active if optimization is turned > +on and just affects the way a call instruction is printed out. > > Would "emit" be better her

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/15/2011 12:20 AM, Jason Merrill wrote: That should work. Excellent. Then we can do something like the below, a great improvement. I'm finishing testing it (already past g++.dg), Ok if it passes? Thanks, Paolo. /// /cp 2011-10-14 Paolo Carlini PR c++/50732

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread Eric Botcazou
> Agreed, please install this patch if you haven't already. Thanks, done after successfully bootstrapping on SPARC64/Linux. -- Eric Botcazou

Tweak again gnat.dg/specs/debug1.ads

2011-10-14 Thread Eric Botcazou
The test doesn't pass on SPARC because a different comment character is used... Fixed by not scanning comment characters at all; tested on x86 and SPARC/Linux, applied on the mainline. 2011-10-14 Eric Botcazou * gnat.dg/specs/debug1.ads: Tweak. -- Eric Botcazou Index: gnat.dg/spe

Re: [google] support for building Linux kernel with FDO (issue4523061)

2011-10-14 Thread Rong Xu
You can access gcc side of patch from the following two branches: svn://gcc.gnu.org/svn/gcc/branches/google/mainorsvn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6_branch I have the patch for 2.6.36 kernel and 2.6.34 kernel and I believe I attached 2.6.36 patch to one of the early review emails. Le

Re: [pph] Make libcpp symbol validation a warning (issue5235061)

2011-10-14 Thread Gabriel Charette
Yes, I understand that. But when the second 2.pph is skipped when reading foo.pph, the reading of its line_table is also skipped (as foo.pph doesn't contain the line_table information for 2.h, 2.pph does and adds it when its included as a child, but if it's skipped, the line_table info for 2.h sho

[SH] PR 49263 - underutilized "TST #imm, R0" instruction

2011-10-14 Thread Oleg Endo
Hello, the attached patch is the same as the last proposed patch in the PR but with some fixed formatting and comments. Hope it's fine like that. Tested against trunk rev 179778 with make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim \{-m2,-m2a-single,-m4-single,-m4a-single\}\{-mb,-ml\}" an

Re: [SH] PR 49263 - underutilized "TST #imm, R0" instruction

2011-10-14 Thread Kaz Kojima
Oleg Endo wrote: > the attached patch is the same as the last proposed patch in the PR but > with some fixed formatting and comments. Hope it's fine like that. > > Tested against trunk rev 179778 with > > make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim > \{-m2,-m2a-single,-m4-single,-m4a-

[PATCH] Fix mv8plus, allow targetting Linux or Solaris from other sparc host.

2011-10-14 Thread David Miller
Richard reported to me that we wouldn't have a mulsi3 pattern with "-m32 -mv8plus", which left me dumbfounded. It seemed impossible. Clarifying further, the case is when gcc is built for a target of sparc64-linux. And indeed I was able to reproduce this, a 32-bit mutliply results in a libcall.

Re: Fix for PR obj-c++/48275 ("getter=namespace failing with .mm")

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 10:51 AM, Nicola Pero wrote: > Can I apply this fix to the 4.6 branch as well ? > OK to commit to the 4.6 branch ? Ok.

Re: [Patch,AVR] Fix PR46278, Take #3

2011-10-14 Thread Georg-Johann Lay
Weddington, Eric schrieb: > >> This is yet another attempt to fix PR46278 (fake X addressing). >> >> After the previous clean-ups it is just a small change. >> >> caller-saves.c tries to eliminate call-clobbered hard-regs allocated to >> pseudos around function calls and that leads to situation

Re: [C++ Patch] PR 17212

2011-10-14 Thread Mike Stump
On Oct 13, 2011, at 4:19 PM, Paolo Carlini wrote: > Ok for mainline? Ok.

Re: ObjC/ObjC++ Patch: rewrite objc/objc++ frontend hashtables

2011-10-14 Thread Mike Stump
On Oct 13, 2011, at 4:54 PM, Nicola Pero wrote: > This patch finally rewrites the hashtables used by the ObjC (and ObjC++) > frontend. The > new code speeds up the compiler by about 4% when compiling the standard > GNUstep ObjC > system headers with -fsyntax-only. That's quite good for a change

Re: [Patch, Darwin] fix PR50699.

2011-10-14 Thread Iain Sandoe
On 13 Oct 2011, at 23:38, Iain Sandoe wrote: On 13 Oct 2011, at 23:22, Mike Stump wrote: +/* Add $LDBL128 suffix to long double builtins for ppc darwin. */ static void -darwin_patch_builtin (int fncode) +darwin_patch_builtin (enum built_in_function fncode) This is a property of the target

Re: ObjC/ObjC++ Patch: rewrite objc/objc++ frontend hashtables

2011-10-14 Thread Mike Stump
On Oct 13, 2011, at 5:02 PM, Nicola Pero wrote: > I actually forgot to post a tiny bit that is required to support > the additional objc/objc-map.h and objc/objc-map.c files. It's > part of the same patch. Apologies. Hum, looks fairly obvious to me. :-)

Re: [patch] dwarf2out: Drop the size + performance overhead of DW_AT_sibling

2011-10-14 Thread Tristan Gingold
On Oct 13, 2011, at 10:40 PM, Jan Kratochvil wrote: > On Wed, 12 Oct 2011 16:18:07 +0200, Jan Kratochvil wrote: >> On Wed, 12 Oct 2011 16:07:24 +0200, Tristan Gingold wrote: >>> I fear that this may degrade performance of other debuggers. What about >>> adding a command line option ? >> >> I ca

Re: [PATCH] Handle COND_EXPR/VEC_COND_EXPR in walk_stmt_load_store_addr_ops and ssa verification

2011-10-14 Thread Richard Guenther
On Thu, 13 Oct 2011, Jakub Jelinek wrote: > Hi! > > Andrew mentioned on IRC he found walk_stmt_load_store_addr_ops > doesn't handle COND_EXPR weirdo first argument well, the following > patch is an attempt to handle that. > > I've noticed similar spot in verify_ssa, though in that case I'm not >

resent [PATCH] Fix PR50496

2011-10-14 Thread Markus Trippelsdorf
This patch, originally from Chung-Lin Tang, fixes PR50496. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496 Can someone please review and commit it? Thanks. Bootstrapped and tested on x86_64-pc-linux-gnu. PR middle-end/50496 * cfgrtl.c (try_redirect_by_replacing_jump): Treat EX

[Patch Darwin/PPC] implement out-of-line FPR/GPR saves/restores.

2011-10-14 Thread Iain Sandoe
we've been building the FPR routines for ages (for compatibility with system tools).. This implements their use and also the GPRs - the latter makes an appreciable reduction in code size, the former is neutral for non-fp intensive code but, for example, makes an appreciable reduction to the

Re: [Patch Darwin/PPC] implement out-of-line FPR/GPR saves/restores.

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 2:05 AM, Iain Sandoe wrote: > This implements their use and also the GPRs - the latter makes an appreciable > reduction in code size, > OK for trunk? Ok. Watch for problems with async stack walking (hitting sample in Activity Monitor, or the walking done by CrashReporter)..

[Patch Darwin/PR49992 1/2] remove ranlib special-casing from the darwin port.

2011-10-14 Thread Iain Sandoe
As per the PR audit trail, there is no reason to retain this special- casing for Darwin. (given that current GCC is not build-able using Darwin toolsets of the vintage that required the case). Mike has OK'd this off-list - but, since Ralf commented on the previous version, I'd like to give

[Patch Darwin/PR49992 2/2] remove ranlib special-casing from the darwin port.

2011-10-14 Thread Iain Sandoe
As per the PR audit trail, there is no reason to retain this in the building of GCC. As for its use as a general option in tool-builds; With current darwin toolsets it has the potential to cause issues when using convenience libs containing common. OK for trunk? Iain gcc/ada: PR ta

[PATCH] Fix PR50723, GSI_NEW subtlety

2011-10-14 Thread Richard Guenther
This fixes PR50723, a common error when inserting stmts after some others and using GSI_NEW (which will make the iterator point to the _first_ newly inserted stmt). Bootstrap and regtest running on x86_64-unknown-linux-gnu. Richard. 2011-10-14 Richard Guenther PR tree-optimization/5

Re: [Patch,AVR] Fix PR46278, Take #3

2011-10-14 Thread Denis Chertykov
2011/10/14 Georg-Johann Lay : > Weddington, Eric schrieb: >> >>> This is yet another attempt to fix PR46278 (fake X addressing). >>> >>> After the previous clean-ups it is just a small change. >>> >>> caller-saves.c tries to eliminate call-clobbered hard-regs allocated to >>> pseudos around functio

Re: [PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-14 Thread Richard Guenther
On Fri, Oct 14, 2011 at 1:12 AM, Tom de Vries wrote: > On 10/12/2011 02:19 PM, Richard Guenther wrote: >> On Wed, Oct 12, 2011 at 8:35 AM, Tom de Vries wrote: >>> Richard, >>> >>> I have a patch for PR50672. >>> >>> When compiling the testcase from the PR with -ftree-tail-merge, the >>> scenario

Re: RFC: Add ADD_RESTRICT tree code

2011-10-14 Thread Richard Guenther
On Wed, Oct 12, 2011 at 7:16 PM, Michael Matz wrote: > Hi, > > this adds a mean to retain restrict information without relying on > restrict casts.  In the patch it's emitted by the gimplifier when it sees > a norestrict->restrict cast (which from then on is useless), at which > point also the tag

Re: Vector alignment tracking

2011-10-14 Thread Richard Guenther
On Thu, Oct 13, 2011 at 6:57 PM, Andi Kleen wrote: >> Or I am missing someting? > > I often see the x86 vectorizer with -mtune=generic generate a lot of > complicated code just to adjust for potential misalignment. > > My thought was just if the alias oracle knows what the original > declaration i

[Patch, Fortran] PR50718 Fix -fcheck=pointer 4.6/4.7 regression

2011-10-14 Thread Tobias Burnus
Hello, while testing my constructor draft patch with FGSL, I found two bugs (4.6/4.7 regressions): PR target/50721 (segfault on x86-64 after execution - one of the rare -O0 only bugs) - and while trying to debug it, I found this bug. The problem is that for -fcheck=pointer, gfortran expects

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Julian Brown
On Thu, 13 Oct 2011 16:12:17 +0100 Richard Earnshaw wrote: > On 13/10/11 15:56, Joseph S. Myers wrote: > > Indeed, vector initializers are part of the target-independent GNU > > C language and have target-independent semantics that the elements > > go in memory order, corresponding to the target-

[PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Kirill Yukhin
Hello guys, Here is a bunch of tests which check basic vectorization abilities to generate AVX2 instructions. testsuite/ChangeLog entry is: 2011-10-14 Kirill Yukhin * gcc.target/i386/avx2-vpaddd-3.c: New test. * gcc.target/i386/avx2-vpaddw-3.c: Ditto. * gcc.target/i386/

Re: resent [PATCH] Fix PR50496

2011-10-14 Thread Eric Botcazou
> This patch, originally from Chung-Lin Tang, fixes PR50496. > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496 > > Can someone please review and commit it? A proper patch submission should include a description of the problem and a rationale for the proposed fix (unless it is trivial). -- E

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Vladimir Yakovlev
This is a ping. Change affects Atom only and was made because it really gives better performance on this architecture. This fact actually leads to the thought that old value is just a simple misprint. Please look. Vladimir 2011/9/30 Vladimir Yakovlev : > This patch fixes performance regression

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

2011-10-14 Thread Richard Guenther
On Thu, Oct 13, 2011 at 3:25 PM, Kai Tietz wrote: > Hello, > > this new version addresses the comments from you. > On gimplify.c's gimplify_expr we didn't handled the case that operands > for TRUTH-AND/OR/XOR expressions need to have same operand-size in > case  of transformation to bitwise-binary

Re: [Patch,AVR] Fix PR46278, Take #3

2011-10-14 Thread Georg-Johann Lay
Denis Chertykov schrieb: > Georg-Johann Lay : >> Weddington, Eric schrieb: This is yet another attempt to fix PR46278 (fake X addressing). After the previous clean-ups it is just a small change. caller-saves.c tries to eliminate call-clobbered hard-regs allocated to ps

Re: [PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Jakub Jelinek
On Fri, Oct 14, 2011 at 03:13:45PM +0400, Kirill Yukhin wrote: --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/avx2-vpaddb-3.c @@ -0,0 +1,49 @@ +/* { dg-do run } */ +/* { dg-options "-mavx2 -O2 -ftree-vectorize -save-temps" } */ +/* { dg-require-effective-target avx2 } */ + ... + +/* { dg-final

Re: resent2 [PATCH] Fix ICE in redirect_jump, at jump.c:1497 PR50496

2011-10-14 Thread Markus Trippelsdorf
Consider this testcase: $ cat test.cpp class GCAlloc { }; class BaseAlloc { }; class String; class Base { public: virtual void destroy( String *str ) const =0; }; class String: public GCAlloc { const Base *m_class; public: enum constants { }; String( const char *data );

[pph] Unify chain streaming (issue5262045)

2011-10-14 Thread Diego Novillo
This cleans up the chain streaming code under a single core function and various entry points. In the process it fixes the timeout problem in c1limits-externalid.cc (we were just messing up the chain when streaming it in reverse). Tested on x86_64. Committed to branch. * pph-streamer-o

[pph] Misc cleanups (1/3) (issue5282043)

2011-10-14 Thread Diego Novillo
* pph-streamer-out.c (pph_out_tree_1): Rename from pph_out_any_tree. Update all users. diff --git a/gcc/cp/pph-streamer-out.c b/gcc/cp/pph-streamer-out.c index ffbe710..e337a31 100644 --- a/gcc/cp/pph-streamer-out.c +++ b/gcc/cp/pph-streamer-out.c @@ -619,16 +619,15 @@ pph_out_st

[pph] Misc cleanups (2/3) (issue5263044)

2011-10-14 Thread Diego Novillo
* pph-streamer-in.c (pph_in_tree_1): Rename from pph_in_any_tree. Update all users. Do not call pph_trace_tree unless flag_pph_tracer is set. diff --git a/gcc/cp/pph-streamer-in.c b/gcc/cp/pph-streamer-in.c index f8d6393..5cdf4d5 100644 --- a/gcc/cp/pph-streamer-in.c +++

[pph] Misc cleanups (3/3) (issue5274043)

2011-10-14 Thread Diego Novillo
* pph-streamer-out.c (pph_out_tree_1): Do not call pph_trace_tree unless flag_pph_tracer is set. diff --git a/gcc/cp/pph-streamer-out.c b/gcc/cp/pph-streamer-out.c index e337a31..d534b42 100644 --- a/gcc/cp/pph-streamer-out.c +++ b/gcc/cp/pph-streamer-out.c @@ -1916,7 +1916,8 @@ p

Re: [pph] Make libcpp symbol validation a warning (issue5235061)

2011-10-14 Thread Diego Novillo
On 11-10-13 17:55 , Gabriel Charette wrote: I'm not sure exactly how you skip headers already parsed now (we didn't used to when I wrote this code and that was the only problem remaining in the line_table (i.e. duplicate entries for guarded headers in the non-pph compile)), but couldn't you coun

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Uros Bizjak
Hello! > This is a ping. Change affects Atom only and was made because it > really gives better performance on this architecture. This fact > actually leads to the thought that old value is just a simple > misprint. > > > This patch fixes performance regression with -mtune=atom. Changing > > atom

Re: [PATCH] Add mulv4di3 expander

2011-10-14 Thread Uros Bizjak
On Fri, Oct 14, 2011 at 8:18 AM, Jakub Jelinek wrote: > mulv2di3 can be expanded the same as mulv2di3. > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2011-10-14  Jakub Jelinek   > >        * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 >        iterator. >  

[PATCH] Simplify and fix restrict handling

2011-10-14 Thread Richard Guenther
This follows up Michas testcase where we fail to handle the conservatively propagated restrict tags properly. The following patch simplifies handling of restrict in the oracle and thus only excludes NONLOCAL (as designed), but not ESCAPED from conflict checking. Bootstrapped on x86_64-unknown-li

Re: [ARM] Fix PR49641

2011-10-14 Thread Bernd Schmidt
On 07/13/11 16:03, Richard Earnshaw wrote: >> * config/arm/arm.c (store_multiple_sequence): Avoid cases where >> the base reg is stored iff compiling for Thumb1. >> >> * gcc.target/arm/pr49641.c: New test. Ping. Richard, you replied to the mail but didn't comment on the patch. Be

Re: New warning for expanded vector operations

2011-10-14 Thread Artem Shinkarov
On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov wrote: > On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther > wrote: >> On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump wrote: >>> On Oct 12, 2011, at 2:37 PM, Artem Shinkarov wrote: This patch fixed PR50704. gcc/testsuite:      

Re: [PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Kirill Yukhin
Thanks, done. Anything else? K On Fri, Oct 14, 2011 at 3:53 PM, Jakub Jelinek wrote: > On Fri, Oct 14, 2011 at 03:13:45PM +0400, Kirill Yukhin wrote: > > --- /dev/null > +++ b/gcc/testsuite/gcc.target/i386/avx2-vpaddb-3.c > @@ -0,0 +1,49 @@ > +/* { dg-do run } */ > +/* { dg-options "-mavx2 -O2

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

2011-10-14 Thread Jason Merrill
On 10/13/2011 10:37 PM, Paolo Carlini wrote: + if ((TYPE_PTR_P (type1) && TYPE_PTR_P (type2)) + || (TYPE_PTRMEM_P (type1) && TYPE_PTRMEM_P (type2)) + || TYPE_PTRMEMFUNC_P (type1)) You don't need to check TYPE_PTR_P or TYPE_PTRMEM_P for type2 here (or in the condition above

Re: [C++ Patch] PR 17212

2011-10-14 Thread Jason Merrill
On 10/13/2011 07:19 PM, Paolo Carlini wrote: -@item -Wno-format-zero-length @r{(C and Objective-C only)} +@item -Wno-format-zero-length @r{(C, C++, Objective-C and Objective-C++ only)} I would just remove the {...only} to match the other -Wformat items. OK. Jason

Re: New warning for expanded vector operations

2011-10-14 Thread Richard Guenther
On Fri, Oct 14, 2011 at 3:42 PM, Artem Shinkarov wrote: > On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov > wrote: >> On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther >> wrote: >>> On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump wrote: On Oct 12, 2011, at 2:37 PM, Artem Shinkarov wrote: >

Re: [patch] dwarf2out: Drop the size + performance overhead of DW_AT_sibling

2011-10-14 Thread Tom Tromey
> "Tristan" == Tristan Gingold writes: Tristan> I am not against this patch, my only concern is that there are many Tristan> many dwarf consumers and I have no idea how they will react to this Tristan> change. I tend to think that this is the wrong standard to apply. In this case we would b

Re: [C++ Patch] PR 17212

2011-10-14 Thread Paolo Carlini
On 10/14/2011 03:57 PM, Jason Merrill wrote: On 10/13/2011 07:19 PM, Paolo Carlini wrote: -@item -Wno-format-zero-length @r{(C and Objective-C only)} +@item -Wno-format-zero-length @r{(C, C++, Objective-C and Objective-C++ only)} I would just remove the {...only} to match the other -Wformat i

Re: [PATCH] Handle COND_EXPR/VEC_COND_EXPR in walk_stmt_load_store_addr_ops and ssa verification

2011-10-14 Thread Michael Matz
Hi, On Fri, 14 Oct 2011, Richard Guenther wrote: > But I'm not sure. I think we should delete this check from > verify_ssa and instead have a corresponding check in > verify_stmts (which already properly walks trees) that > for an SSA name we encounter we do have a properly linked use > (see ver

Re: [PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Jakub Jelinek
On Fri, Oct 14, 2011 at 05:53:28PM +0400, Kirill Yukhin wrote: > Thanks, done. > > Anything else? First of all, most of the testcases look very similar, the only changes in between many of them are (unimportant) function names and different type. So, I think it would be much better to just write

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Vladimir Yakovlev
Could anyone checkin that? Thanks, Vladimir 2011/10/14 Uros Bizjak : > Hello! > >> This is a ping. Change affects Atom only and was made because it >> really gives better performance on this architecture. This fact >> actually leads to the thought that old value is just a simple >> misprint. >> >

[PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod*

2011-10-14 Thread Jakub Jelinek
Hi! This patch improves generated code for SSE4.1 and even more for AVX2 on the attached testcases. SSE4.1 has pmuldq (where SSE2 only had pmuludq), so can handle signed widening shifts fine too. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2011-10-14 Jakub Jelinek

[PATCH] negv{32qi,16hi,8si,4di}

2011-10-14 Thread Jakub Jelinek
Hi! This patch allows to vectorize negations using 32-byte vectors. 2011-10-14 Jakub Jelinek * config/i386/sse.md (neg2): Use VI_AVX2 iterator instead of VI_128. --- gcc/config/i386/sse.md.jj 2011-10-14 13:05:58.0 +0200 +++ gcc/config/i386/sse.md 2011-10-14 13:

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

2011-10-14 Thread Paolo Carlini
Hi, On 10/13/2011 10:37 PM, Paolo Carlini wrote: + if ((TYPE_PTR_P (type1) && TYPE_PTR_P (type2)) + || (TYPE_PTRMEM_P (type1) && TYPE_PTRMEM_P (type2)) + || TYPE_PTRMEMFUNC_P (type1)) You don't need to check TYPE_PTR_P or TYPE_PTRMEM_P for type2 here (or in the condition above)

[PATCH/RFA] Fix up gcc.dg/vect/pr30858.c expected output

2011-10-14 Thread Matthew Gretton-Dann
All, The attached patch corrects the expected output of the gcc.dg/vect/pr30858.c testcase. Historically it has expected the output "Unknown def-use cycle pattern." just once. However, recent changes to GCC for ARM targets means that vectorization is attempted twice once with a vector size o

Re: [PATCH] Add explicit VIS intrinsics for addition and subtraction.

2011-10-14 Thread Vladimir Makarov
On 09/28/2011 06:38 PM, Eric Botcazou wrote: [Vlad, if you have a few minutes, would you mind having a look at the couple of questions at the end of the message? Thanks in advance]. No problem. Here are the results of the investigation. Pseudo 116 needs to be assigned a hard register. It is

[Ada] Checks fail on right operand of "and" and "or" with Short_Circuit_And_Or

2011-10-14 Thread Arnaud Charlet
When the pragma Short_Circuit_And_Or is used, no part of the right operand of an "and" or "or" operator should be executed if the left operand would short-circuit the evaluation of the corresponding "and then" or "or else". However, run-time checks associated with such operands were being evaluated

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Richard Earnshaw
On 14/10/11 11:42, Julian Brown wrote: > On Thu, 13 Oct 2011 16:12:17 +0100 > Richard Earnshaw wrote: > >> On 13/10/11 15:56, Joseph S. Myers wrote: >>> Indeed, vector initializers are part of the target-independent GNU >>> C language and have target-independent semantics that the elements >>> go

[Ada] Aliasing and objects in extended return statements

2011-10-14 Thread Arnaud Charlet
AI05-0053 forbids the use of the aliased keyword in the object declaration of an extended return statement. This avoids semantic complications with return objects that are not of an immutably limited type, and which therefore are not necesarily built in place. Compiling the following in -gnat12 m

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Joseph S. Myers
On Fri, 14 Oct 2011, Julian Brown wrote: > * The vectorizer can use whatever layout it wants for vectors in >either endianness. Vectorizer vectors never interact with either >GCC generic (source-level) vectors, nor the NEON intrinsics. Also >they never cross ABI boundaries. I don't t

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Richard Henderson
On 10/13/2011 11:31 PM, Georg-Johann Lay wrote: > Richard Henderson schrieb: >> On 10/13/2011 12:00 PM, Georg-Johann Lay wrote: >> >>> What do you propose? >>> >>> o A command line option that is on per default like >>> -mnoreturn-tail-calls or -mjmp-noreturn >> >> The command-line-option. I thin

Re: [Patch, Fortran] PR50718 Fix -fcheck=pointer 4.6/4.7 regression

2011-10-14 Thread Tobias Burnus
On 10/14/2011 12:19 PM, Tobias Burnus wrote: while testing my constructor draft patch with FGSL, I found two bugs (4.6/4.7 regressions): PR target/50721 (segfault on x86-64 after execution - one of the rare -O0 only bugs) That bug turned out to be a out-of-bounds problem between Fortran and C,

Re: [PATCH] negv{32qi,16hi,8si,4di}

2011-10-14 Thread Richard Henderson
On 10/14/2011 07:19 AM, Jakub Jelinek wrote: > 2011-10-14 Jakub Jelinek > > * config/i386/sse.md (neg2): Use VI_AVX2 iterator instead > of VI_128. Ok. r~

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Joseph S. Myers
On Fri, 14 Oct 2011, Richard Earnshaw wrote: > One way we might address this is to redefine our 128-bit vector types as > structs of low/high Dwords. Each Dword remains a vector (apart from > 64-bit lane types), but the Dword order then matches the ABI > specification correctly. For example, the

Re: Predication during scheduling

2011-10-14 Thread Vladimir Makarov
On 10/13/2011 05:01 PM, Bernd Schmidt wrote: On 09/30/11 17:29, Bernd Schmidt wrote: This patch allows a backend to set a new scheduler flag, DO_PREDICATION, which will make the haifa scheduler try to move insns across jumps by predicating them. On C6X, the primary benefit is to fill jump delay

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread H.J. Lu
On Thu, Oct 13, 2011 at 11:51 PM, Paolo Bonzini wrote: > On 10/13/2011 10:07 PM, H.J. Lu wrote: >> >> On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner >>  wrote: The answer to H.J.'s "Why do we do it for MEM then?" is simply "because no one ever thought about not doing it" >>> >>>

Re: New warning for expanded vector operations

2011-10-14 Thread Artem Shinkarov
On Fri, Oct 14, 2011 at 2:57 PM, Richard Guenther wrote: > On Fri, Oct 14, 2011 at 3:42 PM, Artem Shinkarov > wrote: >> On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov >> wrote: >>> On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther >>> wrote: On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump

[pph] Fix chain merging (issue5264044)

2011-10-14 Thread Diego Novillo
So, I had not fixed c1limits-externalid.cc. I had simply messed up merging decls into chains. The problem here is that we insert decls into a chain *before* we finish reading them. So, when pph_merge_into_chain inserts the partially read DECL into the chain (or returns an existing DECL), the ca

Re: [PATCH] sel-sched: forbid differing modes in substitution (PR 50205)

2011-10-14 Thread Vladimir Makarov
On 09/07/2011 05:38 AM, Alexander Monakov wrote: Hello, The patch repairs a problem when we attempt to substitute an insn like (... (cmp (mem (reg:DI ax)) (reg:SI ax))) (note different modes) through (set (reg:DI ax) (reg:DI dx)), which leaves the (reg:SI ax) part of the comparison intact, causi

Re: [PATCH] sel-sched: fix merging of LHS reg availability (PR 50340)

2011-10-14 Thread Vladimir Makarov
On 09/13/2011 12:42 PM, Alexander Monakov wrote: Fixed as follows, bootstrapped and regtested on x86_64-linux and ia64-linux (without java, with one recent SRA patch reverted to unbreak bootstrap) with sel-sched enabled at -O2. OK for trunk? Ok with a small code format change below. (a small

Re: Intrinsics for N2965: Type traits and base classes

2011-10-14 Thread Jason Merrill
On 10/13/2011 01:35 PM, Michael Spertus wrote: +int main() { + assert(typeid(b::type) + == typeid(types)); + assert(typeid(db::type) == typeid(types)); + assert(typeid(db::type) == typeid(types<>)); + return 0; +} Let's make this a compile-time test using something like template s

Re: Predication during scheduling

2011-10-14 Thread Bernd Schmidt
On 10/14/11 17:35, Vladimir Makarov wrote: > On 10/13/2011 05:01 PM, Bernd Schmidt wrote: >> http://gcc.gnu.org/ml/gcc-patches/2011-09/msg02053.html >> >> > It is hard to read the patch without function names. Oh, you mean without -p? Not sure how that happened, svn diff seems to add them when run

[google] AddressSanitizer for gcc, first attempt. (issue5272048)

2011-10-14 Thread Kostya Serebryany
Index: tree-asan.c === --- tree-asan.c (revision 0) +++ tree-asan.c (revision 0) @@ -0,0 +1,512 @@ +/* AddressSanitizer, a fast memory error detector. + Copyright (C) 2011 Free Software Foundation, Inc. + Contributed by Kostya Sere

Re: [PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod*

2011-10-14 Thread Richard Henderson
On 10/14/2011 07:18 AM, Jakub Jelinek wrote: > + /* This would be 2 insns shorter if > + rperm[i] = GEN_INT (((~i & 1) << 2) + i / 2); > + has been used instead (both vpslrq insns wouldn't be needed), > + but vec_widen_*mult_hi_* is usually used together with > + vec_widen_*mult_lo

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 7:15 AM, Vladimir Yakovlev wrote: > Could anyone checkin that? Please provide a suitable patch which can be applied. H.J. > Thanks, > Vladimir > > 2011/10/14 Uros Bizjak : >> Hello! >> >>> This is a ping. Change affects Atom only and was made because it >>> really gi

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Richard Earnshaw
On 14/10/11 16:21, Joseph S. Myers wrote: > On Fri, 14 Oct 2011, Richard Earnshaw wrote: > >> One way we might address this is to redefine our 128-bit vector types as >> structs of low/high Dwords. Each Dword remains a vector (apart from >> 64-bit lane types), but the Dword order then matches the

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread Paolo Bonzini
On 10/14/2011 05:36 PM, H.J. Lu wrote: There is a testcase at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50696 It passes with my patch. Cool, so let's wait for the results of testing. Paolo

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Georg-Johann Lay
Richard Henderson schrieb: > On 10/13/2011 11:31 PM, Georg-Johann Lay wrote: >> Richard Henderson schrieb: >>> On 10/13/2011 12:00 PM, Georg-Johann Lay wrote: >>> What do you propose? o A command line option that is on per default like -mnoreturn-tail-calls or -mjmp-noreturn >>

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 9:23 AM, Paolo Bonzini wrote: > On 10/14/2011 05:36 PM, H.J. Lu wrote: >> >> There is a testcase at >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50696 >> >> It passes with my patch. > > Cool, so let's wait for the results of testing. > > Paolo > Here is the complete p

Re: [PATCH] 32-byte integer vec_interleave_{high,low}

2011-10-14 Thread Richard Henderson
On 10/13/2011 11:16 PM, Jakub Jelinek wrote: > 2011-10-14 Jakub Jelinek > > * config/i386/sse.md (vec_interleave_high, > vec_interleave_low): Add AVX2 expanders for VI_256 > modes. > * config/i386/i386.c (expand_vec_perm_interleave3): New function. > (ix86_expand_v

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Paolo Bonzini
On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: +@item -mjump-to-noreturn +@opindex mjump-to-noreturn +Use a jump instruction instead of a call instruction when calling a +no-return functions. This option is active if optimization is turned +on and just affects the way a call instruction is prin

[Patch,AVR,Comitted]: Avoid unwind warning from toplev.c [fix thinko]

2011-10-14 Thread Georg-Johann Lay
Denis Chertykov schrieb: > 2011/10/10 Georg-Johann Lay : >> toplev.c complains about "unwind tables currently require a frame pointer for >> correctness". >> >> This patchlet supplies a fix to avoid build warnings/test fails in that it >> sets >> flag_omit_frame_pointer to 0 if unwind needs FP. >>

libobjc/50002: Applied fix to 4.6 branch as well

2011-10-14 Thread Nicola Pero
I applied the following patch to the 4.6 branch to backport the fix for libobjc/50002. It makes sense to backport it to 4.6.x so that it appears in 4.6.2. It really is quite a bug, and the fix is simple/safe (and, the ObjFW guys were particularly keen on it). Thanks Index: class.c

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Georg-Johann Lay
Paolo Bonzini schrieb: > On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: >> +@item -mjump-to-noreturn >> +@opindex mjump-to-noreturn >> +Use a jump instruction instead of a call instruction when calling a >> +no-return functions. This option is active if optimization is turned >> +on and just affe

libobjc/49883: Applied fix to 4.6 branch as well

2011-10-14 Thread Nicola Pero
I applied the following patch to backport the fix for libobjc/49883 to GCC 4.6 so that it appears in 4.6.2. This is the clang-related problem that was recently discussed. Again, it's an important fix, but safe, with users (the ObjFW guys) asking for it in 4.6.2, which made total sense, so I bac

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 10:13 AM, Vladimir Yakovlev wrote: > Patch is attached. > > Thanks, > Vladimir > > 2011-10-14  Yakovlev Vladimir  vladimir.b.yakov...@intel.com ^ Should be in "<>". > >     * gcc/config/i386/i386.c (atom_cost): Changed cost for loading

[PATCH] Fix typo in Builtin infrastructure change

2011-10-14 Thread Michael Meissner
David pointed out that I had a typo in the AIX code in my builtin changes on October 11th. I've checked this patch in as obvious. 2011-10-14 Michael Meissner * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my change on October 11th, 2011. Index: gcc/config/rs6000

Re: Fix for PR obj-c++/48275 ("getter=namespace failing with .mm")

2011-10-14 Thread Nicola Pero
Can I apply this fix to the 4.6 branch as well ? Some users are asking for it to be backported to the 4.6 branch. It's not a regression, because the property implementation is new in GCC 4.6, but it is still a serious bug if you're trying to use properties with ObjC++, as you can't use "namespa

C++ PATCH for c++/50563 (NSDMI and multiple declarator list)

2011-10-14 Thread Jason Merrill
The problem here was that we were saving away the second declarator as part of the NSDMI for the first declarator. Fixed by stopping at a non-nested comma. Tested x86_64-pc-linux-gnu, applying to trunk. commit 09f16be794e871607c2bb46bf74206ee40af1b74 Author: Jason Merrill Date: Thu Oct 13 1

C++ PATCH for c++/50507 (NSDMI for const field)

2011-10-14 Thread Jason Merrill
We should check for an initializer before complaining about lack thereof. :) Tested x86_64-pc-linux-gnu, applying to trunk. commit fc150101bb79b3b328263e272a44eecd1083e6cd Author: Jason Merrill Date: Thu Oct 13 21:57:21 2011 -0400 PR c++/50507 * method.c (walk_field_subobs): Check

Re: New warning for expanded vector operations

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 8:37 AM, Artem Shinkarov wrote: > Committed with 179991. Please don't send these... If you commit for a person, you can send directly to them the fact you committed the work. If people want to know when works goes in, be sure to use a PR and put yourself on the cc list, then

[Patch, Fortran, committed] PR 50570: [4.6/4.7 Regression] Incorrect error for assignment to intent(in) pointer

2011-10-14 Thread Janus Weil
Hi all, I just committed a one-line fix for this regression (approved by Tobias in a private mail): http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=18 Cheers, Janus Btw: I just noticed that ABORT throws a backtrace in recent trunk versions (which didn't happen in 4.6 or earlier). I think

Re: [Patch, Fortran, committed] PR 50570: [4.6/4.7 Regression] Incorrect error for assignment to intent(in) pointer

2011-10-14 Thread Janus Weil
Forgot to mention: Will backport to 4.6 during the weekend (hopefully in time for 4.6.2). Cheers, Janus 2011/10/14 Janus Weil : > Hi all, > > I just committed a one-line fix for this regression (approved by > Tobias in a private mail): > > http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=18

[C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
Hi, submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* types instead of doing it where/when necessary. Tested x86_64-linux. Ok? Thanks, Paolo. /

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread Eric Botcazou
> If you configure a biarch Linux/Sparc compiler defaulting to > 32-bit, but give --with-cpu= for a v9 cpu it erroneously > turns on 64-bit in TARGET_DEFAULT. PR target/50354 reports the breakage of the opposite case after the change: configuring for sparc64-linux --with-cpu=v8 used to build a 32-

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/14/2011 08:23 PM, Paolo Carlini wrote: Hi, submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* types instead of doing it where/when necessary.

  1   2   >