Re: PR c++/30195

2011-11-10 Thread Dodji Seketeli
Fabien Chêne fabien.ch...@gmail.com a écrit: Index: gcc/dbxout.c === --- gcc/dbxout.c (revision 178088) +++ gcc/dbxout.c (working copy) @@ -1518,6 +1518,8 @@ dbxout_type_fields (tree type) if (TREE_CODE (tem)

Re: [Patch] Move Objective-C runtime flags to modern options system.

2011-11-10 Thread Richard Guenther
On Wed, 9 Nov 2011, Mike Stump wrote: On Nov 9, 2011, at 10:12 AM, Iain Sandoe wrote: This puts flag_next_runtime into the global options structure I needed to deal with '-fobjc-sjlj-exceptions' and elected to remove it - - this is because there is only one valid exception model for

Re: [patch tree-optimization 1/2]: Branch-cost optimizations

2011-11-10 Thread Richard Guenther
On Wed, Nov 9, 2011 at 7:34 PM, Jeff Law l...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/07/11 15:36, Richard Guenther wrote: Yes.  tree-affine does this for a sum of expressions of the form a + b * c. It collects such sum, optimizes it (and you can add/subtract

Re: [patch tree-optimization 1/2]: Branch-cost optimizations

2011-11-10 Thread Richard Guenther
On Wed, Nov 9, 2011 at 10:09 PM, Kai Tietz ktiet...@googlemail.com wrote: 2011/11/9 Jeff Law l...@redhat.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/07/11 15:36, Richard Guenther wrote: Yes.  tree-affine does this for a sum of expressions of the form a + b * c. It collects

[patch] Fix PR tree-optimization/51058

2011-11-10 Thread Ira Rosen
Hi, This patch handles CALL_EXPRs in constant/invariant operand creation in SLP. Bootstrapped and tested on powerpc64-suse-linux. Committed. Ira ChangeLog: PR tree-optimization/51058 * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR. testsuite/ChangeLog:

Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Hans-Peter Nilsson
From: Hans-Peter Nilsson h...@axis.com Date: Wed, 9 Nov 2011 09:55:59 +0100 From: Alan Modra amo...@gmail.com Date: Tue, 1 Nov 2011 16:33:40 +0100 On Tue, Nov 01, 2011 at 12:57:22AM +1030, Alan Modra wrote: * function.c (bb_active_p): Delete.

Re: [PATCH] Handle -msse -mno-sse2 in expand_vec_perm_interleave2 (PR target/50911)

2011-11-10 Thread Eric Botcazou
2011-11-09 Jakub Jelinek ja...@redhat.com PR target/50911 * config/i386/i386.c (expand_vec_perm_interleave2): If d-vmode is V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode to V4SFmode. Thanks for fixing this. I've installed the Ada testcase.

Re: [patch tree-optimization 1/2]: Branch-cost optimizations

2011-11-10 Thread Kai Tietz
2011/11/10 Richard Guenther richard.guent...@gmail.com: On Wed, Nov 9, 2011 at 10:09 PM, Kai Tietz ktiet...@googlemail.com wrote: 2011/11/9 Jeff Law l...@redhat.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/07/11 15:36, Richard Guenther wrote: Yes.  tree-affine does this for a

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Richard Guenther
On Thu, Nov 10, 2011 at 11:38 AM, Hans-Peter Nilsson hans-peter.nils...@axis.com wrote: From: Hans-Peter Nilsson h...@axis.com Date: Wed, 9 Nov 2011 09:55:59 +0100 From: Alan Modra amo...@gmail.com Date: Tue, 1 Nov 2011 16:33:40 +0100 On Tue, Nov 01, 2011 at 12:57:22AM +1030, Alan Modra

Re: [patch tree-optimization 1/2]: Branch-cost optimizations

2011-11-10 Thread Richard Guenther
On Thu, Nov 10, 2011 at 11:49 AM, Kai Tietz ktiet...@googlemail.com wrote: 2011/11/10 Richard Guenther richard.guent...@gmail.com: On Wed, Nov 9, 2011 at 10:09 PM, Kai Tietz ktiet...@googlemail.com wrote: 2011/11/9 Jeff Law l...@redhat.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Hans-Peter Nilsson
From: Richard Guenther richard.guent...@gmail.com Date: Thu, 10 Nov 2011 12:22:56 +0100 On Thu, Nov 10, 2011 at 11:38 AM, Hans-Peter Nilsson hans-peter.nils...@axis.com wrote: From: Hans-Peter Nilsson h...@axis.com Date: Wed, 9 Nov 2011 09:55:59 +0100 From: Alan Modra

[PATCH] Fix PR51071

2011-11-10 Thread Richard Guenther
When using gimple_has_side_effects on a GIMPLE_LABEL with a LABEL_DECL with DECL_FORCED_LABEL set we ICE. That is because gimple_has_side_effects uses TREE_SIDE_EFFECTS on the LABEL_DECL which isn't valid. Fixed by (finally) cleaning up this predicate, removing all code that can only be

[PATCH] Fix PR51070, loop distribution and memset generation

2011-11-10 Thread Richard Guenther
This fixes PR51070 where we repace the partition bb 5: # g_224.0_23 = PHI g_224.1_10(7), g_224.0_22(4) D.2957_3 = g_92[g_224.0_23]; g_92[g_224.0_23] = 0; g_224.1_10 = g_224.0_23 + 1; if (g_224.1_10 != 0) goto bb 7; else goto bb 6; bb 6: # g_95_I_lsm.15_29 = PHI D.2957_3(5)

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Richard Guenther
On Thu, Nov 10, 2011 at 12:43 PM, Hans-Peter Nilsson hans-peter.nils...@axis.com wrote: From: Richard Guenther richard.guent...@gmail.com Date: Thu, 10 Nov 2011 12:22:56 +0100 On Thu, Nov 10, 2011 at 11:38 AM, Hans-Peter Nilsson hans-peter.nils...@axis.com wrote: From: Hans-Peter Nilsson

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Bernd Schmidt
On 11/10/11 13:14, Richard Guenther wrote: Fair enough. You can count me as one then, and I'll defer to Bernd to either provide a fix or ack the revert. I'm trying to track it down. In 189r.outof_cfglayout, we have (insn 31 33 35 3 (use (reg/i:SI 0 r0))

[PATCH][rs6000] Fix warning building libgcc

2011-11-10 Thread Richard Guenther
Currently when building unwind-dw2.c for powerpc64 I see In file included from ../../../libgcc/unwind-dw2.c:376:0: ./md-unwind-support.h: In function 'frob_update_context': ./md-unwind-support.h:371:8: warning: passing argument 3 of '_Unwind_SetGRPtr' makes pointer from integer without a cast

Re: [RFA/ARM][Patch 01/02]: Thumb2 epilogue in RTL

2011-11-10 Thread Richard Earnshaw
On 28/09/11 17:15, Sameera Deshpande wrote: Hi! This patch generates Thumb2 epilogues in RTL form. The work involves defining new functions, predicates and patterns along with few changes in existing code: * The load_multiple_operation predicate was found to be too restrictive for

Re: [RFA/ARM][Patch 01/02]: Thumb2 epilogue in RTL

2011-11-10 Thread Sameera Deshpande
Hi Richard, thanks for your comments. -- + if (GET_CODE (SET_SRC (elt = XVECEXP (op, 0, offset_adj))) == PLUS) It's generally best not to use assignments within conditionals unless there is a strong reason otherwise (that normally implies something like being deep within a condition

Re: [PATCH] Fix combine's simplify_comparison (PR rtl-optimization/51023, take 3)

2011-11-10 Thread Bernd Schmidt
On 11/09/11 18:12, Jakub Jelinek wrote: So here is hopefully last iteration of that. Negative constants that trunc_int_for_mode to the same value are IMHO just fine too, similarly for ZERO_EXTEND 0x for HImode should be fine too. On the other side, if mode is DImode and outer mode of

Re: [Patch 001] [x86 backend] Define march/mtune for upcoming AMD Bulldozer procesor.

2011-11-10 Thread Jan Hubicka
Hello! This patch defines -march=bdver1 and -mtune=bdver1 flag for the upcoming AMD Bulldozer processor. Hi, it seems that bdver/btver is not mentioned in invoke.texi nor changes.html. Could you please add documentation? Honza

[PATCH] Fix PR51042

2011-11-10 Thread Richard Guenther
This fixes PR51042. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2011-11-10 Richard Guenther rguent...@suse.de PR tree-optimization/51042 * tree-ssa-pre.c (phi_translate_1): Avoid recursing on self-referential expressions. Refactor

Re: RFT: Fix PR middle/end-40154

2011-11-10 Thread Eric Botcazou
No, it isn't. Expanders call other expanders to do fancy stuff. When everything is done, they tag a REG_EQUAL note on the last insn. One of the purposes of set_unique_reg_note is lubricate this process: the layered expanders can add multiple REG_EQUAL notes. We only want the most

Current Solaris/x86 libitm results

2011-11-10 Thread Rainer Orth
With your last patches, I get decent test results for libitm on Solaris 11/x86, both with Sun as/ld and gas/Sun ld: === libitm tests === Running target unix FAIL: libitm.c/clone-1.c execution test FAIL: libitm.c/memcpy-1.c execution test FAIL: libitm.c/memset-1.c execution test

Re: [Patch] Move Objective-C runtime flags to modern options system.

2011-11-10 Thread Mike Stump
On Nov 10, 2011, at 1:35 AM, Richard Guenther rguent...@suse.de wrote: flag_exceptions also triggers middle-end behavior - without it no statement can possibly throw Actually, one version of exception handling for objective c++ doesn't require flag_exceptions... One can indeed @throw without

Re: [PATCH] PR target/50038 fix: redundant zero extensions removal

2011-11-10 Thread Eric Botcazou
Initial aim of the pass was to remove zero extentions redundant due to implicit zero extention in x64. But implementation actually uses generic approach and seems like a mini-combiner. Pass may combine two zero extends or combine zero extend with a constant as a special case but in other

Re: [PATCH] PR target/50038 fix: redundant zero extensions removal

2011-11-10 Thread Eric Botcazou
So, what about the patch? I think since we already have zee patch it would be great to use it as more general optimization. I tested it on EEMBC 2.0 on Atom and it showed 1% performance gain in geomean on 32 bit which is really good for such simple optimization. For OOO archs patch is not so

Re: [Bug rtl-optimization/51040] atomic_fetch_nand issue

2011-11-10 Thread Andrew MacLeod
On 11/09/2011 02:15 PM, Andrew MacLeod wrote: NAND patchup arithmetic was missing the 2 stage AND then NOT operation. Instead it was falling into the same sequence as every other operation and trying to perform a binary operation on a NOT. I managed to modify and existing testcase to trigger

Re: [Bug rtl-optimization/51040] atomic_fetch_nand issue

2011-11-10 Thread Richard Henderson
On 11/10/2011 08:29 AM, Andrew MacLeod wrote: PR rtl-optimization/51040 * optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND followed by NOT. * builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND should be AND followed by NOT.

[PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Andrew MacLeod
The issue here is no atomic support whatsoever. The standard now *requires* that atomic_flag be implementable in a lock free manner for compliance. That means they must resolve to something, and not an external library call. In order to support atomic_flag in a lock free manner on a target,

Status of libitm on Tru64 UNIX

2011-11-10 Thread Rainer Orth
Just for fun, I gave libitm a try on alpha-dec-osf5.1b, too. Here's what I found: * config/alpha/sjlj.S needs trivial changes for the non-ELF/non-Linux platform. * Initially, all C tests were failing like this: 333619:./simple-1.exe: /sbin/loader: Error: libitm.so.0: symbol

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Richard Henderson
On 11/10/2011 08:35 AM, Andrew MacLeod wrote: Currently I don't issue any warnings ... + /* Otherwise issue the store and a warning. */ + warning_at (loc, 0, + __atomic_clear used on target with no atomic support); + __atomic_clear (a, __ATOMIC_RELAXED); /* {

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Andrew MacLeod
On 11/10/2011 11:47 AM, Richard Henderson wrote: On 11/10/2011 08:35 AM, Andrew MacLeod wrote: Currently I don't issue any warnings ... What are those then? And, obviously the cris test should be an effective target test. Oh, those are gone, I must not have re-svn'd Justa minute Andrew

Re: Status of libitm on Tru64 UNIX

2011-11-10 Thread Richard Henderson
On 11/10/2011 08:42 AM, Rainer Orth wrote: libitm: * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use .hidden. (.note.GNU-stack): Only use if __linux__. * alloc_cpp.cc [!HAVE_WEAKDEF] (_ZnaXRKSt9nothrow_t): Dummy function. *

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Andrew MacLeod
On 11/10/2011 11:48 AM, Andrew MacLeod wrote: On 11/10/2011 11:47 AM, Richard Henderson wrote: On 11/10/2011 08:35 AM, Andrew MacLeod wrote: Currently I don't issue any warnings ... What are those then? And, obviously the cris test should be an effective target test. Oh, those are gone, I

Re: [PATCH] [Annotalysis] Support trylock attributes on virtual methods.

2011-11-10 Thread Diego Novillo
On 11-11-08 13:11 , Delesley Hutchins wrote: This patch fixes a bug wherein the trylock attribute would not work if it was attached to a virtual method. Bootstrapped and passed gcc regression testsuite on x86_64-unknown-linux-gnu. Okay for google/gcc-4_6? -DeLesley Changelog.google-4_6:

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Richard Henderson
On 11/10/2011 08:52 AM, Andrew MacLeod wrote: libstdc++-v3 * include/bits/atomic_base.h (atomic_thread_fence): Call built-in. (atomic_signal_fence): Call built-in. (test_and_set, clear): Call new atomic built-ins. gcc * builtins.c

Re: [PATCH] [Annotalysis] Add support for arrays in lock expressions

2011-11-10 Thread Diego Novillo
On 11-11-03 14:20 , Delesley Hutchins wrote: This patch adds support for array indexing (i.e. operator []) in lock expressions. The current version of gcc seems to emit these as expressions involving pointer arithmetic, so we update get_canonical_lock_expr() to handle such expressions.

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Richard Henderson
On 11/10/2011 12:16 AM, Jakub Jelinek wrote: On Wed, Nov 09, 2011 at 04:32:58PM -0800, Richard Henderson wrote: Not pretty at all. But given the corresponding irritation in writing assembler wrapper functions, it seems like it's about a wash. Tested with and without HAVE_AS_AVX on

[Patch, libfortran] Reduce inlining

2011-11-10 Thread Janne Blomqvist
Hi, the inlining heuristics are nowadays decent. In particular, at -O2 the compiler does the obvious inlinings: - If the function body is very small (for some measure of small, see -finline-small-functions) - static functions called once (-finline-functions-called-once) Where GCC may need help

Re: [Patch] Move Objective-C runtime flags to modern options system.

2011-11-10 Thread Iain Sandoe
Hi Mike, just want to state my understanding to allow you to comment if I'm off On 10 Nov 2011, at 16:12, Mike Stump wrote: On Nov 10, 2011, at 1:35 AM, Richard Guenther rguent...@suse.de wrote: flag_exceptions also triggers middle-end behavior - without it no statement can possibly

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Hans-Peter Nilsson
From: Hans-Peter Nilsson h...@axis.com Date: Thu, 10 Nov 2011 15:12:54 +0100 From: Bernd Schmidt ber...@codesourcery.com Date: Thu, 10 Nov 2011 14:29:04 +0100 HP, can you run full tests? Cross-test to cris-elf in progress. Thanks! Works, no regressions compared to before the

Re: vector garbaged collected while still in use

2011-11-10 Thread Xinliang David Li
Looks like it is fixed already, so there is no need for this patch. David On Wed, Nov 9, 2011 at 12:36 AM, Richard Guenther richard.guent...@gmail.com wrote: On Tue, Nov 8, 2011 at 6:10 PM, Xinliang David Li davi...@google.com wrote: Here is the revised patch. Bootstrap and regression tested

Re: [patch tree-optimization 1/2]: Branch-cost optimizations

2011-11-10 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/09/11 14:09, Kai Tietz wrote: Well, such a comparison-logic-folder helper - like affine-tree for add/subtract/scale) - is for sure something good for inner gimple passes building up new logic-truth expressions, but such a pass doesn't

Re: [PATCH] [Annotalysis] Add support for arrays in lock expressions

2011-11-10 Thread Delesley Hutchins
Why PLUS_EXPR and MULT_EXPR?  Pointer arithmetic should use POINTER_PLUS_EXPR exclusively.  I don't think you should be seeing PLUS_EXPRs here.  The MULT_EXPR show up in scaling expressions? MULT_EXPR shows up in array indexing, since the index is multiplied by the size of the element; gcc

Re: [PATCH] [Annotalysis] Add support for arrays in lock expressions

2011-11-10 Thread Diego Novillo
On 11-11-10 13:05 , Delesley Hutchins wrote: Why PLUS_EXPR and MULT_EXPR? Pointer arithmetic should use POINTER_PLUS_EXPR exclusively. I don't think you should be seeing PLUS_EXPRs here. The MULT_EXPR show up in scaling expressions? MULT_EXPR shows up in array indexing, since the index is

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Hans-Peter Nilsson
From: Andrew MacLeod amacl...@redhat.com Date: Thu, 10 Nov 2011 17:52:44 +0100 On 11/10/2011 11:48 AM, Andrew MacLeod wrote: Justa minute Andrew doh. sorry about that Test cross to cris-elf in progress for your second take (at r181254 + Bernd's patch to unbreak the tree for

Re: [RFA/ARM][Patch 01/02]: Thumb2 epilogue in RTL

2011-11-10 Thread Sameera Deshpande
On Thu, 2011-11-10 at 13:44 +, Richard Earnshaw wrote: On 28/09/11 17:15, Sameera Deshpande wrote: Hi! This patch generates Thumb2 epilogues in RTL form. The work involves defining new functions, predicates and patterns along with few changes in existing code: * The

Re: [PATCH] [Annotalysis] Add support for arrays in lock expressions

2011-11-10 Thread Delesley Hutchins
But you should not see such an expression in gimple.  The array index is always a gimple_val. I'm not sure what you mean. The expression array[i+1] compiles to the following (courtesy of dump-tree-ssa): D.2095_4 = (long unsigned int) i_1; D.2096_5 = D.2095_4 + 1; D.2097_6 = D.2096_5 * 4;

Re: [PATCH] [Annotalysis] Add support for arrays in lock expressions

2011-11-10 Thread Diego Novillo
On 11-11-10 13:25 , Delesley Hutchins wrote: But you should not see such an expression in gimple. The array index is always a gimple_val. I'm not sure what you mean. The expression array[i+1] compiles to the following (courtesy of dump-tree-ssa): D.2095_4 = (long unsigned int) i_1;

Re: RFA: New pass to delete unexecutable paths in the CFG

2011-11-10 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/09/11 15:10, Paolo Bonzini wrote: On 11/09/2011 06:53 PM, Jeff Law wrote: My patch totally ignores the other code on the unexecutable path. So we can miss externally visible side effects, if we were to somehow get on the unexecutable path.

[committed] Fix -D_FORTIFY_SOURCE infinite recursion (PR middle-end/51077)

2011-11-10 Thread Jakub Jelinek
Hi! The PR50700 change caused infinite recursion - we shouldn't call compute_builtin_object_size on SSA_NAMEs more than two times, otherwise we risk calling it endlessly. But TREE_CODE (pt_var) in this code is known to be MEM_REF, so always != SSA_NAME. Fixed thusly, committed as obvious to

[PATCH] Fold VEC_PERM_EXPR/VEC_INTERLEAVE*EXPR/VEC_EXTRACT*EXPR with VECTOR_CST/CONSTRUCTOR arguments (PR tree-optimization/51074)

2011-11-10 Thread Jakub Jelinek
Hi! This patch adds folding of the new VEC_PERM_EXPR as well as the older more specialized permutation exprs. For VEC_PERM_EXPR e.g. __builtin_shuffle may be used with constant arguments, for the other one the vectorizer sometimes creates it (though, admittedly, it should try harder to figure it

gcov internal changes

2011-11-10 Thread Nathan Sidwell
I've committed this patch to reorganize the internal data structures of gcov in preparation for some future features. The main change is that the sources list becomes an array. This changes references to a source_info object to be an index into the array, rather than a pointer. In making

[PATCH, i386]: Fix PR 50762, [4.7 Regression] ICE: in extract_insn, at recog.c:2137 (unrecognizable insn)

2011-11-10 Thread Uros Bizjak
Hello! Attached patch fixes corner case with reload, where reload propagates constant zero into zero_extended LEA instruction, creating invalid RTX: (insn 4 15 52 2 (set (reg/v:SI 59 [ p_60 ]) (const_int 0 [0])) tt.c:24 64 {*movsi_internal} (nil)) ... (insn 29 28 30 3 (set (reg:DI

Options handling and reload memory leak fixes

2011-11-10 Thread Jakub Jelinek
Hi! Running valgrind even on simple testcases shows a bunch of memory leaks (definitely lost). This patch cures some of them. There are a few further leaks in the options handling. The first hunk is when this function already called concat to set opt_text, and then doesn't write opt_text

[PATCH] Free memory leaks in tree-vect-slp.c

2011-11-10 Thread Jakub Jelinek
Hi! This patch fixes some compiler memory leaks in SLP. For vect_free_oprnd_info I've removed the FREE_DEF_STMTS argument and am freeing the defs always, but set them to NULL when moving the vectors over elsewhere, because otherwise if vect_create_new_slp_node or vect_build_slp_tree fails after

[libffi] Use GCC_AS_CFI_PSEUDO_OP

2011-11-10 Thread Richard Henderson
Previously, I split out this exact configure fragment to config/asmcfi.m4 for use in libitm. This just tidies the original use in libffi so that we don't have duplicates. Tested on x86_64-linux and committed. r~ commit 022a1701c4517308af026c64c707883358b37f26 Author: rth

Re: [patch] c++/2972 warn when ctor-initializer leaves uninitialized data

2011-11-10 Thread Jonathan Wakely
On 7 November 2011 21:47, Jason Merrill wrote: On 11/07/2011 04:43 PM, Jonathan Wakely wrote: Unfortunately this doesn't work very well in C++11 mode, as defaulted constructors don't cause warnings when they should do e.g. Maybe check this in defaulted_late_check? I tried that (attached)

Re: [PATCH] Fold VEC_PERM_EXPR/VEC_INTERLEAVE*EXPR/VEC_EXTRACT*EXPR with VECTOR_CST/CONSTRUCTOR arguments (PR tree-optimization/51074)

2011-11-10 Thread Richard Henderson
On 11/10/2011 11:09 AM, Jakub Jelinek wrote: + if (TREE_CODE (arg0) == VECTOR_CST) + { + for (i = 0, t = TREE_VECTOR_CST_ELTS (arg0); +i nelements t; i++, t = TREE_CHAIN (t)) + elements[i] = TREE_VALUE (t); + if (t) +

Re: [PATCH] Fold VEC_PERM_EXPR/VEC_INTERLEAVE*EXPR/VEC_EXTRACT*EXPR with VECTOR_CST/CONSTRUCTOR arguments (PR tree-optimization/51074)

2011-11-10 Thread Richard Henderson
On 11/10/2011 12:00 PM, Richard Henderson wrote: VEC_PERM_EXPR is explicitly modulo. Don't fail, mask. It does occur to me that we could usefully fold a constant selector with out-of-range elements to a new selector with in-range elements, even if the other operands are non-constant. This

Re: [patch] c++/2972 warn when ctor-initializer leaves uninitialized data

2011-11-10 Thread Jason Merrill
On 11/10/2011 02:48 PM, Jonathan Wakely wrote: +warn_missing_meminits (tree type, tree cons) +{ + tree mem_inits = sort_mem_initializers (type, NULL_TREE); + while (mem_inits) +{ + tree member = TREE_PURPOSE (mem_inits); + /* TODO do not warn if brace-or-equal-initializer */ +

Re: [patch] c++/2972 warn when ctor-initializer leaves uninitialized data

2011-11-10 Thread Jason Merrill
On 11/10/2011 03:10 PM, Jason Merrill wrote: On 11/10/2011 02:48 PM, Jonathan Wakely wrote: +warn_missing_meminits (tree type, tree cons) +{ + tree mem_inits = sort_mem_initializers (type, NULL_TREE); + while (mem_inits) + { + tree member = TREE_PURPOSE (mem_inits); + /* TODO do not warn if

[DOC PATCH]: Remove wrong explanation w.r.t. const handling for predicates, defined with define_predicate

2011-11-10 Thread Uros Bizjak
Hello! Predicates, defined with define_predicate do not handle CONST_INT and CONST_DOUBLE operands at all, let alone provide any sort of special bypass for them. Just remove wrong text to save some poor soul from tripping this trap in the future. 2011-11-10 Uros Bizjak ubiz...@gmail.com

Re: [PATCH] PR debug/50983

2011-11-10 Thread Jason Merrill
Thanks. I reformatted the patch a bit and added a testcase; here's what I'm checking in. commit 91eed4ebec24bbb2993c1ca8a5407f4fdeff48ec Author: Jason Merrill ja...@redhat.com Date: Thu Nov 10 00:11:13 2011 -0500 PR debug/50983 * dwarf2out.c (set_cur_line_info_table): Restore the

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Iain Sandoe
On 10 Nov 2011, at 17:12, Richard Henderson wrote: On 11/10/2011 12:16 AM, Jakub Jelinek wrote: On Wed, Nov 09, 2011 at 04:32:58PM -0800, Richard Henderson wrote: Not pretty at all. But given the corresponding irritation in writing assembler wrapper functions, it seems like it's about a

C++ PATCH for c++/51079 (DR 495, checking second conv before template)

2011-11-10 Thread Jason Merrill
DR 495 changed the order of these rules. Tested x86_64-pc-linux-gnu, applying to trunk. commit dc49a72a22b10b39edc054414537bda44ce82546 Author: Jason Merrill ja...@redhat.com Date: Thu Nov 10 14:59:15 2011 -0500 PR c++/51079, DR 495 * call.c (joust): Check the second conversion

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Patrick Marlier
On 11/10/2011 03:25 PM, Iain Sandoe wrote: libtool: link: /GCC/gcc-4-7-trunk-build/./gcc/xgcc -B/GCC/gcc-4-7-trunk-build/./gcc/ -B/GCC/gcc-4-7-install/i686-apple-darwin9/bin/ -B/GCC/gcc-4-7-install/i686-apple-darwin9/lib/ -isystem /GCC/gcc-4-7-install/i686-apple-darwin9/include -isystem

Re: New port^2: Renesas RL78

2011-11-10 Thread Richard Henderson
+# non-PIC targets always get an array-bounds error in thread_prologue_and_epilogue_insns +function.o-warn = -Wno-error Didn't we find another way to fix this? In any case this is not present in your changelog. Otherwise the port is looking ok. r~

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Iain Sandoe
On 10 Nov 2011, at 20:33, Patrick Marlier wrote: On 11/10/2011 03:25 PM, Iain Sandoe wrote: libtool: link: /GCC/gcc-4-7-trunk-build/./gcc/xgcc -B/GCC/gcc-4-7-trunk-build/./gcc/ -B/GCC/gcc-4-7-install/i686-apple-darwin9/bin/ -B/GCC/gcc-4-7-install/i686-apple-darwin9/lib/ -isystem

Re: New port^2: Renesas RL78

2011-11-10 Thread DJ Delorie
Didn't we find another way to fix this? In any case this is not present in your changelog. Yes, please ignore that. I do svn diff and then have to cut out all the bits that aren't part of the base port itself.

C++ PATCH for c++/50973 (ICE with defaulted virtual destructor)

2011-11-10 Thread Jason Merrill
Here the problem was that we were calling use_thunk before we knew what the right linkage for the function it's thunking to was. Fixed by deferring synthesis of virtual dtors until EOF. Tested x86_64-pc-linux-gnu, applying to trunk. commit 566d5469261e63f8359998386b3b7c60ecd5e2ba Author:

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Hans-Peter Nilsson
From: Hans-Peter Nilsson h...@axis.com Date: Thu, 10 Nov 2011 19:06:26 +0100 From: Andrew MacLeod amacl...@redhat.com Date: Thu, 10 Nov 2011 17:52:44 +0100 On 11/10/2011 11:48 AM, Andrew MacLeod wrote: Justa minute Andrew doh. sorry about that Test cross to cris-elf in

Re: [PATCH] [Annotalysis] Support trylock attributes on virtual methods.

2011-11-10 Thread Diego Novillo
On 11-11-10 17:23 , Delesley Hutchins wrote: +{ + tree callee = gimple_call_fn (call); + if (TREE_CODE (callee) == OBJ_TYPE_REF) +{ + tree objtype = TREE_TYPE (TREE_TYPE (OBJ_TYPE_REF_OBJECT (callee))); + /* Check to make sure objtype is a valid type. +

Re: [PATCH] pr51038 atomic_flag on targets with no atomic support.

2011-11-10 Thread Richard Henderson
On 11/10/2011 02:28 PM, Andrew MacLeod wrote: * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear. ok. r~

Re: [wwwdocs] Add info about IPA optimization and LTO improvments

2011-11-10 Thread Gerald Pfeifer
On Sat, 8 Oct 2011, Andi Kleen wrote: On Wed, 28 Sep 2011, Andi Kleen wrote: lild -r is now supported with LTO. When using assembler files or non LTOed objects inside ld -r objects together with LTO then the Linux binutils 2.21.51.0.3 or later are needed./li I think this should be

Re: [patch] c++/2972 warn when ctor-initializer leaves uninitialized data

2011-11-10 Thread Jonathan Wakely
On 10 November 2011 20:17, Jason Merrill wrote: On 11/10/2011 03:10 PM, Jason Merrill wrote: On 11/10/2011 02:48 PM, Jonathan Wakely wrote: +warn_missing_meminits (tree type, tree cons) +{ + tree mem_inits = sort_mem_initializers (type, NULL_TREE); + while (mem_inits) + { + tree member =

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Iain Sandoe
On 10 Nov 2011, at 20:43, Iain Sandoe wrote: The symbol _ITM_malloc is in libitm. Maybe the problem is an extra _ before the _ITM_malloc? Actually, I think the missing symbol is ___emutls_v._ZN3GTM12_gtm_thr_tlsE and (although the m32 lib builds OK - the symbol is also missing there).

Re: Revert PowerPC shrink-wrap support 3 of 3

2011-11-10 Thread Michael Meissner
On Thu, Nov 10, 2011 at 02:29:04PM +0100, Bernd Schmidt wrote: On 11/10/11 13:14, Richard Guenther wrote: Fair enough. You can count me as one then, and I'll defer to Bernd to either provide a fix or ack the revert. I'm trying to track it down. In 189r.outof_cfglayout, we have (insn

Re: [google] ThreadSanitizer instrumentation pass (issue 5303083)

2011-11-10 Thread davidxl
http://codereview.appspot.com/5303083/diff/28001/gcc/tree-tsan.c File gcc/tree-tsan.c (right): http://codereview.appspot.com/5303083/diff/28001/gcc/tree-tsan.c#newcode227 gcc/tree-tsan.c:227: var = varpool_node_for_asm (id); Use cgraph_node_for_asm instead.

Re: [google] ThreadSanitizer instrumentation pass (issue 5303083)

2011-11-10 Thread davidxl
Have you run through SPEC, and SPEC06 with this change? What is the instrumentation overhead using gcc? David http://codereview.appspot.com/5303083/

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Jack Howarth
On Thu, Nov 10, 2011 at 11:29:35PM +, Iain Sandoe wrote: On 10 Nov 2011, at 20:43, Iain Sandoe wrote: The symbol _ITM_malloc is in libitm. Maybe the problem is an extra _ before the _ITM_malloc? Actually, I think the missing symbol is ___emutls_v._ZN3GTM12_gtm_thr_tlsE and

Re: [libitm] Work around missing AVX support

2011-11-10 Thread Richard Henderson
On 11/10/2011 03:29 PM, Iain Sandoe wrote: The m64 build fails because of the -Wl,-undefined -Wl,dynamic_lookup FAOD, Is there some reason that this library needs to resolve symbols from some external source at load time? Not that I know of. I think that's generic libtool giving you that.

Re: [google] ThreadSanitizer instrumentation pass (issue 5303083)

2011-11-10 Thread Xinliang David Li
On Thu, Nov 10, 2011 at 4:24 PM, Kostya Serebryany k...@google.com wrote: On Thu, Nov 10, 2011 at 4:00 PM, davi...@google.com wrote: Have you run through SPEC, and SPEC06 with this change? What is the instrumentation overhead using gcc? I don't think anyone of us ever run spec with tsan.

Re: [Patch] Move Objective-C runtime flags to modern options system.

2011-11-10 Thread Mike Stump
On Nov 10, 2011, at 9:40 AM, Iain Sandoe wrote: Thanks for catching that --- brainstorm on my part ... the code under discussion should have been #ifndef OBCPLUS There is no prohibition against C having exceptions, so, doesn't matter if you turn C++ off, you can still throw through C code, so

Re: Options handling and reload memory leak fixes

2011-11-10 Thread Joseph S. Myers
On Thu, 10 Nov 2011, Jakub Jelinek wrote: Hi! Running valgrind even on simple testcases shows a bunch of memory leaks (definitely lost). This patch cures some of them. There are a few further leaks in the options handling. The first hunk is when this function already called concat to

C++ PATCH for c++/50372 (C++11 allows static functions as template arguments)

2011-11-10 Thread Jason Merrill
DR 1155 allows variables and functions with internal linkage to be used as template arguments. Tested x86_64-pc-linux-gnu, applying to trunk. commit bd15c5ecefbb9f8a3a44d2547c3a6a9881a47f31 Author: Jason Merrill ja...@redhat.com Date: Thu Nov 10 21:59:59 2011 -0500 PR c++/50372 *

Re: [PATCH] Fix PR51030, handle p ? p-base : 0 in phiopt

2011-11-10 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/08/11 06:45, Richard Guenther wrote: This should optimize VEC_BASE that Jakub was patching by teaching phiopt to handle some one-statement intermediate basic-blocks. Bootstrapped and tested on x86_64-unknown-linux-gnu, any comments?

Re: [PATCH] Improve VEC_BASE

2011-11-10 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/07/11 14:25, Jakub Jelinek wrote: Hi! This patch attempts to optimize VEC_BASE if we know that offsetof of base is 0 (unless the compiler is doing something strange, it is true). It doesn't have a clear code size effect, some .text

Re: [PATCH] Free memory leaks in tree-vect-slp.c

2011-11-10 Thread Ira Rosen
On 10 November 2011 21:31, Jakub Jelinek ja...@redhat.com wrote: Hi! This patch fixes some compiler memory leaks in SLP. For vect_free_oprnd_info I've removed the FREE_DEF_STMTS argument and am freeing the defs always, but set them to NULL when moving the vectors over elsewhere, because

Re: [PATCH] PR target/50038 fix: redundant zero extensions removal

2011-11-10 Thread Ilya Enkovich
Hello Eric, Thanks for review! 2011/11/10 Eric Botcazou ebotca...@adacore.com: So, what about the patch? I think since we already have zee patch it would be great to use it as more general optimization. I tested it on EEMBC 2.0 on Atom and it showed 1% performance gain in geomean on 32 bit

Re: C++ PATCH for c++/50372 (C++11 allows static functions as template arguments)

2011-11-10 Thread Gabriel Dos Reis
On Thu, Nov 10, 2011 at 10:14 PM, Jason Merrill ja...@redhat.com wrote: DR 1155 allows variables and functions with internal linkage to be used as template arguments. Yay!

Re: [PATCH] Improve VEC_BASE

2011-11-10 Thread Jakub Jelinek
On Thu, Nov 10, 2011 at 10:58:36PM -0700, Jeff Law wrote: This patch attempts to optimize VEC_BASE if we know that offsetof of base is 0 (unless the compiler is doing something strange, it is true). It doesn't have a clear code size effect, some .text sections grew, supposedly because of