[patch] [1/2] Support reduction in loop SLP

2011-05-18 Thread Ira Rosen
Hi, This is the first part of reduction support in loop-aware SLP. The purpose of the patch is to handle unrolled reductions such as: #a1 = phi a0, a5 ... a2 = a1 + x ... a3 = a2 + y ... a5 = a4 + z Such sequence of statements is gathered into a reduction chain and serves as a root for an SLP

[patch] [2/2] Support reduction in loop SLP

2011-05-18 Thread Ira Rosen
This part adds the actual code for reduction support. Bootstrapped and tested on powerpc64-suse-linux. I am planning to apply it later today. Ira ChangeLog: PR tree-optimization/41881 * tree-vectorizer.h (struct _loop_vec_info): Add new field reduction_chains along with a macro

[PATCH] Fix up execute_update_addresses_taken for debug stmts (PR tree-optimization/49000)

2011-05-18 Thread Jakub Jelinek
Hi! When an addressable var is optimized into non-addressable, we didn't clean up MEM_REFs containing ADDR_EXPR of such VARs in debug stmts. This got later on folded into the var itself and caused ssa verification errors. Fixed by trying to rewrite it and if it fails, resetting.

[PATCH] Small typed DWARF improvement

2011-05-18 Thread Jakub Jelinek
Hi! This patch optimizes away unneeded DW_OP_GNU_converts. mem_loc_descriptor attempts to keep the operands signed when it returns, if next op needs it unsigned again with the same size, there might be useless converts. The patch won't change DW_OP_GNU_convert to integral from non-integral (so

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Xinliang David Li
To make consistent inline decisions between profile-gen and profile-use, probably better to check these two: flag_profile_arcs and flag_branch_probabilities. -fprofile-use enables profile-arcs, and value profiling is enabled only when edge/branch profiling is enabled (so no need to be checked).

Re: [patch gimplifier]: Make sure TRUTH_NOT_EXPR has boolean_type_node type and argument

2011-05-18 Thread Kai Tietz
2011/5/16 Richard Guenther richard.guent...@gmail.com: On Mon, May 16, 2011 at 3:45 PM, Michael Matz m...@suse.de wrote: Hi, On Mon, 16 May 2011, Richard Guenther wrote: I think conversion _to_ BOOLEAN_TYPE shouldn't be useless, on the grounds that it requires booleanization (at least

Re: [PATCH, PR45098, 2/10]

2011-05-18 Thread Zdenek Dvorak
Hi, 2011-05-05 Tom de Vries t...@codesourcery.com PR target/45098 * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost. OK, Zdenek

Re: [patch ada]: Fix boolean_type_node setup and some cleanup for boolean use

2011-05-18 Thread Eric Botcazou
Ok, thanks for explaining it. So would be patch ok for apply without the precision setting? Sure, everything but the gcc-interface/misc.c part is OK. Thanks. -- Eric Botcazou

Re: [patch ada]: Fix boolean_type_node setup and some cleanup for boolean use

2011-05-18 Thread Kai Tietz
2011/5/18 Eric Botcazou ebotca...@adacore.com: Ok, thanks for explaining it.  So would be patch ok for apply without the precision setting? Sure, everything but the gcc-interface/misc.c part is OK.  Thanks. -- Eric Botcazou Hmm, you mean the initialization of boolean_false_node is wrong,

Re: [PATCH] Fix PR48989

2011-05-18 Thread Eric Botcazou
* tree-ssa.c (useless_type_conversion_p): Preserve conversions to non-1-precision BOOLEAN_TYPEs. This looks like overeager if you're allowing non-boolean types in tree-cfg.c. The conversion can be stripped if the source type has precision 1, can't it? -- Eric Botcazou

Re: [PATCH] Fix PR48989

2011-05-18 Thread Richard Guenther
On Wed, 18 May 2011, Eric Botcazou wrote: * tree-ssa.c (useless_type_conversion_p): Preserve conversions to non-1-precision BOOLEAN_TYPEs. This looks like overeager if you're allowing non-boolean types in tree-cfg.c. The conversion can be stripped if the source type has precision

[PATCH] Fix PR49018

2011-05-18 Thread Richard Guenther
This fixes PR49018, ifcombine looks for side-effects but instead asks only gimple_has_volatile_ops. And gimple_has_side_effects disregards that volatile asms have side-effects. The function also doesn't handle all stmts gracefully so I fixed it as well as turning the asserts to checking

Re: [PATCH, i386]: Cleanup TARGET_GNU2_TLS usage

2011-05-18 Thread Rainer Orth
Uros, The test (tls.c), used to check all TLS models is attached to the message. I plan to convert it to proper dg test... ;) I've got it in my tree since you sent it to me while debugging/testing support for the various TLS models on Solaris. I'd really prefer (and have modified it this way)

[PATCH] Fix extract_fixed_bit_field (PR middle-end/49029)

2011-05-18 Thread Jakub Jelinek
Hi! The attached testcase ICEs on arm, because extract_fixed_bit_field with tmode SImode (and SImode non-NULL target) decides to use DImode for the signed shifts, but doesn't clear target and thus attempts to use that SImode target for DImode shifts. The code apparently already has if (mode !=

Re: [PATCH][ARM] Add support for ADDW and SUBW instructions

2011-05-18 Thread Andrew Stubbs
Ping. On 20/04/11 16:27, Andrew Stubbs wrote: This patch adds basic support for the Thumb ADDW and SUBW instructions. The patch permits the compiler to use the new instructions for constants that can be loaded with a single instruction (i.e. 16-bit unshifted), but does not support use of addw

Re: [PATCH 2/2] Reimplementation of build_ref_for_offset

2011-05-18 Thread H.J. Lu
On Sat, Oct 23, 2010 at 10:12 AM, H.J. Lu hjl.to...@gmail.com wrote: On Wed, Sep 8, 2010 at 9:43 AM, Martin Jambor mjam...@suse.cz wrote: Hi, this patch reimplements build_ref_for_offset so that it simply creates a MEM_REF rather than trying to figure out what combination of component and

PING: PATCH: PR rtl-optimization/48575: RTL vector patterns are limited to 26 elements

2011-05-18 Thread H.J. Lu
On Tue, Apr 26, 2011 at 3:32 PM, H.J. Lu hjl.to...@gmail.com wrote: On Mon, Apr 4, 2011 at 6:05 PM, H.J. Lu hjl.to...@gmail.com wrote: On Thu, Mar 31, 2011 at 5:05 AM, Kenneth Zadeck zad...@naturalbridge.com wrote: we hit this limit trying to write the explicit semantics for a

Re: [PATCH, MELT] correcting path error in the Makefile.in

2011-05-18 Thread Ian Lance Taylor
Basile Starynkevitch bas...@starynkevitch.net writes: On Wed, May 18, 2011 at 10:27:11AM +0400, Andrey Belevantsev wrote: On 17.05.2011 23:42, Basile Starynkevitch wrote: On Tue, 17 May 2011 21:30:44 +0200 Pierre Vittetpier...@pvittet.com wrote: My contributor number is 634276. You

Re: PING: PATCH: PR other/48007: Unwind library doesn't work with UNITS_PER_WORD sizeof (void *)

2011-05-18 Thread H.J. Lu
On Tue, Apr 26, 2011 at 6:07 AM, H.J. Lu hjl.to...@gmail.com wrote: On Sat, Apr 9, 2011 at 6:52 PM, H.J. Lu hjl.to...@gmail.com wrote: On Thu, Mar 24, 2011 at 12:15 AM, H.J. Lu hjl.to...@gmail.com wrote: On Wed, Mar 23, 2011 at 12:22 PM, Ulrich Weigand uweig...@de.ibm.com wrote: Richard

Re: [Patch, Fortran] PR 48700: memory leak with MOVE_ALLOC

2011-05-18 Thread Tobias Burnus
Janus Weil wrote: The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk? OK. Thanks for the patch! (What next on your gfortran agenda?) Tobias PS: For the following two patches review is pending: My trans*.c coarray patch at http://gcc.gnu.org/ml/fortran/2011-05/msg00123.html

[patch gimplifier]: Change TRUTH_(AND|OR|XOR) expressions to binary form

2011-05-18 Thread Kai Tietz
Hello As follow-up for logical to binary transition 2011-05-18 Kai Tietz kti...@redhat.com * tree-cfg.c (verify_gimple_assign_binary): Barf on TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. (gimplify_expr): Boolify TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR,

Re: [PATCH] fix vfmsubaddpd/vfmaddsubpd generation

2011-05-18 Thread Uros Bizjak
Hello! This patch fixes an obvious problem: the fma4_fmsubadd/fma4_fmaddsub instruction templates don't generate vfmsubaddpd/vfmaddsubpd because they don't use ssemodesuffix This passes bootstrap on x86_64 on trunk. Okay to commit? See comments in the code. BTW, I'm testing on

[PATCH 1/2] Add bf592 support

2011-05-18 Thread Henderson, Stuart
Hi, The attached patch adds support for the bfin bf592 part. * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592. * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for bf592-none. * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.

[PATCH 2/2] Add bf592 support

2011-05-18 Thread Henderson, Stuart
Hi, The attached patch adds a new test for the bfin bf592 part. * gcc.target/bfin/mcpu-bf592.c: New test. Ok to add to trunk? thanks, Stu Index: gcc/testsuite/gcc.target/bfin/mcpu-bf592.c === ---

[PATCH PR45098, 4/10] Iv init cost.

2011-05-18 Thread Tom de Vries
On 05/17/2011 09:17 AM, Tom de Vries wrote: On 05/17/2011 09:10 AM, Tom de Vries wrote: Hi Zdenek, I have a patch set for for PR45098. 01_object-size-target.patch 02_pr45098-rtx-cost-set.patch 03_pr45098-computation-cost.patch 04_pr45098-iv-init-cost.patch 05_pr45098-bound-cost.patch

[PATCH PR45098, 6/10] Bound cost - test cases.

2011-05-18 Thread Tom de Vries
On 05/17/2011 09:19 AM, Tom de Vries wrote: On 05/17/2011 09:10 AM, Tom de Vries wrote: Hi Zdenek, I have a patch set for for PR45098. 01_object-size-target.patch 02_pr45098-rtx-cost-set.patch 03_pr45098-computation-cost.patch 04_pr45098-iv-init-cost.patch 05_pr45098-bound-cost.patch

[PATCH PR45098, 7/10] Nowrap limits iterations

2011-05-18 Thread Tom de Vries
On 05/17/2011 09:20 AM, Tom de Vries wrote: On 05/17/2011 09:10 AM, Tom de Vries wrote: Hi Zdenek, I have a patch set for for PR45098. 01_object-size-target.patch 02_pr45098-rtx-cost-set.patch 03_pr45098-computation-cost.patch 04_pr45098-iv-init-cost.patch 05_pr45098-bound-cost.patch

Re: C++ PATCH for c++/48948 (rejecting constexpr friend that takes the current class)

2011-05-18 Thread Jason Merrill
On 05/11/2011 05:27 PM, Jason Merrill wrote: We want to allow a constexpr friend function that takes the current class, so we need to defer checking the literality of parameter types until any classes involved are complete. It was pointed out to me that the restriction already only applies to

Re: [PATCH][?/n] LTO type merging cleanup

2011-05-18 Thread Jan Hubicka
We can end up with an infinite recursion as gimple_register_type tries to register TYPE_MAIN_VARIANT first. This is because we are being called from the LTO type-fixup code which walks the type graph and adjusts types to their leaders. So we can be called for type SCCs that are only

[PATCH PR45098, 8/10] Nowrap limits iterations - test cases.

2011-05-18 Thread Tom de Vries
On 05/17/2011 09:21 AM, Tom de Vries wrote: On 05/17/2011 09:10 AM, Tom de Vries wrote: Hi Zdenek, I have a patch set for for PR45098. 01_object-size-target.patch 02_pr45098-rtx-cost-set.patch 03_pr45098-computation-cost.patch 04_pr45098-iv-init-cost.patch 05_pr45098-bound-cost.patch

[PATCH PR45098, 9/10] Cheap shift-add.

2011-05-18 Thread Tom de Vries
On 05/17/2011 09:21 AM, Tom de Vries wrote: On 05/17/2011 09:10 AM, Tom de Vries wrote: Hi Zdenek, I have a patch set for for PR45098. 01_object-size-target.patch 02_pr45098-rtx-cost-set.patch 03_pr45098-computation-cost.patch 04_pr45098-iv-init-cost.patch 05_pr45098-bound-cost.patch

[PATCH, i386]: Trivial, split long asm templates in TLS patterns

2011-05-18 Thread Uros Bizjak
Hello! 2011-05-18 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template. (*tls_global_dynamic_64): Ditto. (*tls_local_dynamic_base_32_gnu): Ditto. (*tls_local_dynamic_base_64): Ditto.

Re: [PATCH,c++] describe reasons for function template overload resolution failure

2011-05-18 Thread Jason Merrill
Thanks for the background; I will keep the principle in mind. IMHO, in a case like this where we're logically printing one diagnostic (one error and then some number of explanatory notes) keeping all the logic for the diagnostic centralized makes more sense. I understand, but that means we

Re: Libiberty: POSIXify psignal definition

2011-05-18 Thread Richard Earnshaw
On Tue, 2011-05-17 at 12:48 -0400, DJ Delorie wrote: What I don't understand is why the newlib change broke older compilers. Older compilers have the older libiberty. At the moment, libiberty cannot be built by *any* released gcc, because you cannot *build* any released gcc, because it

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Xinliang David Li
Though not common, people can do this: 1. for profile gen: gcc -fprofile-arcs ... 2. for profile use gcc -fbranch-probabilities ... The new change won't help those. Your original place will be ok if you test profile_arcs and branch_probability flags. David On Wed, May 18, 2011 at 10:39 AM,

Re: Libiberty: POSIXify psignal definition

2011-05-18 Thread DJ Delorie
And the problem is that libiberty is assuming that it *knows* what functions newlib provides, so that it doesn't need to check directly. This is just broken... Historically, cygwin was built using libiberty and newlib, so you did not have a runtime at the time you were building libiberty,

[v3] Update bitset (and a few more bits elsewhere) for noexcept

2011-05-18 Thread Paolo Carlini
Hi, tested x86_64-linux, committed. Thanks, Paolo. // 2011-05-18 Paolo Carlini paolo.carl...@oracle.com * libsupc++/initializer_list: Use noexcept specifier. (initializer_list::size, begin, end): Qualify as const. * include/bits/move.h (__addressof,

Re: Libiberty: POSIXify psignal definition

2011-05-18 Thread Corinna Vinschen
On May 18 14:03, DJ Delorie wrote: And the problem is that libiberty is assuming that it *knows* what functions newlib provides, so that it doesn't need to check directly. This is just broken... Historically, cygwin was built using libiberty and newlib, so you did not have a runtime

Re: [PATCH, PR45098, 3/10]

2011-05-18 Thread Tom de Vries
Hi Zdenek, On 05/18/2011 05:24 PM, Zdenek Dvorak wrote: Hi, How about: ... @@ -2866,6 +2878,8 @@ computation_cost (tree expr, bool speed) if (MEM_P (rslt)) cost += address_cost (XEXP (rslt, 0), TYPE_MODE (type), TYPE_ADDR_SPACE (type), speed); + else if

Re: [patch gimplifier]: Change TRUTH_(AND|OR|XOR) expressions to binary form

2011-05-18 Thread Kai Tietz
2011/5/18 Kai Tietz ktiet...@googlemail.com: Hello As follow-up for logical to binary transition 2011-05-18  Kai Tietz  kti...@redhat.com        * tree-cfg.c (verify_gimple_assign_binary): Barf on        TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.        (gimplify_expr): Boolify

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Mark Heffernan
On Wed, May 18, 2011 at 10:52 AM, Xinliang David Li davi...@google.com wrote: The new change won't help those. Your original place will be ok if you test profile_arcs and branch_probability flags. Ah, yes. I see your point now. Reverted to the original change with condition profile_arc_flag

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

2011-05-18 Thread David Li
In gcc, not all passes have user level control to turn it on/off, and there is no way to flip on/off the pass for a subset of functions. I implemented a generic option handling scheme in gcc to allow disabling/enabling any gcc pass for any specified function(s). The new options will be very

Re: [google] Increase inlining limits with FDO/LIPO

2011-05-18 Thread Xinliang David Li
Ok with that change to google/main with some retesting. David On Wed, May 18, 2011 at 11:34 AM, Mark Heffernan meh...@google.com wrote: On Wed, May 18, 2011 at 10:52 AM, Xinliang David Li davi...@google.com wrote: The new change won't help those. Your original place will be ok if you test

Re: [PATCH,c++] describe reasons for function template overload resolution failure

2011-05-18 Thread Nathan Froyd
On 05/18/2011 01:45 PM, Jason Merrill wrote: Thanks for the background; I will keep the principle in mind. IMHO, in a case like this where we're logically printing one diagnostic (one error and then some number of explanatory notes) keeping all the logic for the diagnostic centralized makes

Re: [Patch, Fortran] PR 48700: memory leak with MOVE_ALLOC

2011-05-18 Thread Janus Weil
The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk? OK. Thanks for the patch! Thanks, Tobias. Committed as r173874. (What next on your gfortran agenda?) Well, I am pretty busy with my day job at university and working on my PhD, which will not allow me to make huge leaps on

Re: Libiberty: POSIXify psignal definition

2011-05-18 Thread Joseph S. Myers
On Wed, 18 May 2011, DJ Delorie wrote: At this point, though, I'm tempted to say there's no such thing as a target libiberty and rip all the target-libiberty rules out, and let Yes please. I've been arguing for that for some time. http://gcc.gnu.org/ml/gcc/2009-04/msg00410.html

Re: Libiberty: POSIXify psignal definition

2011-05-18 Thread DJ Delorie
What about these? dependencies = { module=all-target-fastjar; on=all-target-libiberty; }; dependencies = { module=all-target-libobjc; on=all-target-libiberty; }; dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };

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

2011-05-18 Thread Xinliang David Li
Thanks for the comment. Will fix those. David On Wed, May 18, 2011 at 12:30 PM, Joseph S. Myers jos...@codesourcery.com wrote: On Wed, 18 May 2011, David Li wrote: +      error (Unrecognized option %s, is_enable ? -fenable : -fdisable); +      error (Unknown pass %s specified in %s, +    

Re: [PATCH,c++] describe reasons for function template overload resolution failure

2011-05-18 Thread Jason Merrill
On 05/18/2011 03:00 PM, Nathan Froyd wrote: Thank you for the review. I'll go back and try things the way you suggest; before I go off and do that, I've taken your comments to mean that: - fn_type_unification/type_unification_real and associated callers should take a boolean `explain'

Make ARM -mfpu= option handling use Enum

2011-05-18 Thread Joseph S. Myers
This patch continues the cleanup of ARM option handling by making -mfpu= handling use Enum, with the table of FPUs moved to a new arm-fpus.def. Tested building cc1 and xgcc for cross to arm-eabi. Will commit to trunk in the absence of target maintainer objections. contrib: 2011-05-18 Joseph

[Patch, fortran] Update documentation and error messages for -ffpe-trap

2011-05-18 Thread Janne Blomqvist
Hi, the attached patch updates the documentation and error messages for the -ffpe-trap= option: - The IEEE 754 name for the loss of precision exception is inexact, and not precision (both in 754-1985 and 754-2008). So use that instead, while still allowing precision as an alias for inexact for

Re: [PATCH]: Restore bootstrap with --enable-build-with-cxx

2011-05-18 Thread Toon Moene
On 05/18/2011 05:41 AM, Gabriel Dos Reis wrote: On Tue, May 17, 2011 at 2:46 PM, Toon Moenet...@moene.org wrote: On 05/17/2011 08:32 PM, Uros Bizjak wrote: Tested on x86_64-pc-linux-gnu {, m32} with --enable-build-with-cxx. Committed to mainline SVN as obvious. Does that mean that I can

Re: [PATCH][?/n] LTO type merging cleanup

2011-05-18 Thread Richard Guenther
On Wed, May 18, 2011 at 7:20 PM, Jan Hubicka hubi...@ucw.cz wrote: We can end up with an infinite recursion as gimple_register_type tries to register TYPE_MAIN_VARIANT first.  This is because we are being called from the LTO type-fixup code which walks the type graph and adjusts types to

[PATCH] Fix VRP MIN/MAX handling with two anti-ranges (PR tree-optimization/49039)

2011-05-18 Thread Jakub Jelinek
Hi! The testcases below are miscompiled (execute/ by 4.6/4.7, pr49039.C by 4.6 and twice so by 4.7 (so much that it doesn't abort)), because VRP thinks that MIN_EXPR ~[-1UL, -1UL], ~[0, 0] is ~[0, 0] (correct is VARYING and similarly MAX_EXPR ~[-1UL, -1UL], ~[0, 0] is ~[-1UL, -1UL]).

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

2011-05-18 Thread Richard Guenther
On Wed, May 18, 2011 at 8:37 PM, David Li davi...@google.com wrote: In gcc, not all passes have user level control to turn it on/off, and there is no way to flip on/off the pass for a subset of functions. I implemented a generic option handling scheme in gcc to allow disabling/enabling any

Re: [PATCH]: Restore bootstrap with --enable-build-with-cxx

2011-05-18 Thread Richard Guenther
On Wed, May 18, 2011 at 10:17 PM, Toon Moene t...@moene.org wrote: On 05/18/2011 05:41 AM, Gabriel Dos Reis wrote: On Tue, May 17, 2011 at 2:46 PM, Toon Moenet...@moene.org  wrote: On 05/17/2011 08:32 PM, Uros Bizjak wrote: Tested on x86_64-pc-linux-gnu {, m32} with --enable-build-with-cxx.

Re: [PATCH] Fix VRP MIN/MAX handling with two anti-ranges (PR tree-optimization/49039)

2011-05-18 Thread Richard Guenther
On Wed, May 18, 2011 at 10:21 PM, Jakub Jelinek ja...@redhat.com wrote: Hi! The testcases below are miscompiled (execute/ by 4.6/4.7, pr49039.C by 4.6 and twice so by 4.7 (so much that it doesn't abort)), because VRP thinks that MIN_EXPR ~[-1UL, -1UL], ~[0, 0] is ~[0, 0] (correct is VARYING

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

2011-05-18 Thread Xinliang David Li
Will fix the Changelog, and add documentation. Thanks, David On Wed, May 18, 2011 at 1:26 PM, Richard Guenther richard.guent...@gmail.com wrote: On Wed, May 18, 2011 at 8:37 PM, David Li davi...@google.com wrote: In gcc, not all passes have user level control to turn it on/off, and there

Re: [PATCH] Fix VRP MIN/MAX handling with two anti-ranges (PR tree-optimization/49039)

2011-05-18 Thread Jakub Jelinek
On Wed, May 18, 2011 at 10:32:49PM +0200, Richard Guenther wrote: On Wed, May 18, 2011 at 10:21 PM, Jakub Jelinek ja...@redhat.com wrote: Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/4.6? Ok. Thanks. Isn't it latent on the 4.5 branch as well? Not only latent,

PATCH: PR target/49002: 128-bit AVX load incorrectly becomes 256-bit AVX load

2011-05-18 Thread H.J. Lu
Hi, This patch properly handles 256bit load cast. OK for trunk if there is no regression? I will also prepare a patch for 4.6 branch. Thanks. H.J. -- gcc/ 2011-05-18 H.J. Lu hongjiu...@intel.com PR target/49002 * config/i386/sse.md

Re: [PATCH]: Restore bootstrap with --enable-build-with-cxx

2011-05-18 Thread Toon Moene
On 05/18/2011 10:31 PM, Richard Guenther wrote: Not that I'm too excited to see GCC built with a C++ compiler (or even C++ features being used). Hmmm, you think using false as a value for a pointer-returning function is just A-OK ? Duh, I'm glad I'm using Fortran, where the programmer

Re: [PATCH]: Restore bootstrap with --enable-build-with-cxx

2011-05-18 Thread Richard Guenther
On Wed, May 18, 2011 at 10:44 PM, Toon Moene t...@moene.org wrote: On 05/18/2011 10:31 PM, Richard Guenther wrote: Not that I'm too excited to see GCC built with a C++ compiler (or even C++ features being used). Hmmm, you think using false as a value for a pointer-returning function is just

Re: [PATCH PR45098, 4/10] Iv init cost.

2011-05-18 Thread Zdenek Dvorak
Hi, Resubmitting with comment. The init cost of an iv will in general not be zero. It will be exceptional that the iv register happens to be initialized with the proper value at no cost. In general, there will at the very least be a regcopy or a const set. OK. Please add a comment

[patch, fortran] Some more function elimination tweaks

2011-05-18 Thread Thomas Koenig
Hello world, the attached patch does the following: - It removes the restriction on functions returning allocatables for elimination (unnecessary since the introduction of allocatable temporary variables) - It allows character function elimination if the character length is a constant

Re: [C++ PATCH] Attempt to find implicitly determined firstprivate class type vars during genericization (PR c++/48869)

2011-05-18 Thread Jason Merrill
On 05/11/2011 08:26 AM, Jakub Jelinek wrote: This patch duplicates parts of the gimplifier's work during genericization, That seems unfortunate, but I'll accept your judgment that it's the least-bad solution. The patch is OK. Jason

Re: [PATCH PR45098, 9/10] Cheap shift-add.

2011-05-18 Thread Zdenek Dvorak
Hi, + sa_cost = (TREE_CODE (expr) != MINUS_EXPR + ? shiftadd_cost[speed][mode][m] + : (mult == op1 +? shiftsub1_cost[speed][mode][m] +: shiftsub0_cost[speed][mode][m])); + res = new_cost (sa_cost, 0); + res = add_costs (res, mult

Re: PATCH: PR target/49002: 128-bit AVX load incorrectly becomes 256-bit AVX load

2011-05-18 Thread Uros Bizjak
On Wed, May 18, 2011 at 10:37 PM, H.J. Lu hongjiu...@intel.com wrote: This patch properly handles 256bit load cast.  OK for trunk if there is no regression?  I will also prepare a patch for 4.6 branch. 2011-05-18  H.J. Lu  hongjiu...@intel.com        PR target/49002        *

Re: [C++0x] contiguous bitfields race implementation

2011-05-18 Thread Jason Merrill
It seems like you're calculating maxbits correctly now, but an access doesn't necessarily start from the beginning of the sequence of bit-fields, especially given store_split_bit_field. That is, struct A { int i; int j: 32; int k: 8; char c[2]; }; Here maxbits would be 40, so we

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

2011-05-18 Thread Revital Eres
Hello, The calculation of the number of instructions in a row is currently done by updating row_rest_count field in struct ps_insn on the fly while creating a new instruction. It is used to make sure we do not exceed the issue_rate. This calculation assumes the instruction is inserted in the

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

2011-05-18 Thread Revital Eres
Hello, The attached patch moves the creation of anti-dep edge from a branch to it's def from create_ddg_dep_from_intra_loop_link () to add_cross_iteration_register_deps () due to the fact the edge is with distance 1 and thus should be in the later function. The edge was added to avoid creating

[PATCH, SMS 3/4] Optimize stage count

2011-05-18 Thread Revital Eres
Hello, The attach patch tries to achieve optimised SC by normalizing the partial schedule (having the cycles start from cycle zero). The branch location must be placed in row ii-1 in the final scheduling. If that's not the case after the normalization then it tries to move the branch to that row

[PATCH, SMS 4/4] Misc. fixes

2011-05-18 Thread Revital Eres
Hello, The attached patch contains misc. fixes and changes. The patch was tested together with the rest of the patches in this series. On ppc64-redhat-linux regtest as well as bootstrap with SMS flags enabling SMS also on loops with stage count 1. Regtested on SPU. On arm-linux-gnueabi

Re: [PATCH, MELT] add dominance functions

2011-05-18 Thread Basile Starynkevitch
On Wed, 18 May 2011 21:04:39 +0200 Pierre Vittet pier...@pvittet.com wrote: Hello, I have written a patch to allow the use of the GCC dominance functions into MELT. [...] Changelog: 2011-05-17 Pierre Vittet pier...@pvittet.com * melt/xtramelt-ana-base.melt