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

2011-03-24 Thread H.J. Lu
On Wed, Mar 23, 2011 at 12:22 PM, Ulrich Weigand wrote: > Richard Henderson wrote: >> Because, really, if we consider the structure truly public, we can't even >> change the number of registers for a given port to support new features of >> the cpu. > > Indeed, and I remember we got bitten by that

[Patch, testsuite]: Don't xfail sibcalls on AVR

2011-03-24 Thread Georg-Johann Lay
Target avr now supports tail calls, so don't xfail on that. testsuite/ 2011-03-24 Georg-Johann Lay * gcc.dg/sibcall-3.c: Don't xfail on AVR. * gcc.dg/sibcall-4.c: Don't xfail on AVR. Index: testsuite/gcc.dg/sibcall-3.c ==

[patch, ARM] Enable auto-detection of vector size for NEON

2011-03-24 Thread Ira Rosen
Hi, This patch implements TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES for ARM NEON. Regtested on arm-linux-gnueabi. OK for trunk? Thanks, Ira ChangeLog: * config/arm/arm.c (arm_autovectorize_vector_sizes): New function. (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Def

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Jason Merrill
On 03/21/2011 06:36 PM, Kai Tietz wrote: + attr = lookup_attribute (IDENTIFIER_POINTER (TREE_PURPOSE (a)), + CONST_CAST_TREE (a2)); I might use as->name for the name, and change lookup_attribute to take a const_tree rather than use CONST_CAST_TREE. + if (!

Re: [v3] Regenerate Solaris 2 baselines for GCC 4.6.0 release

2011-03-24 Thread Rainer Orth
Benjamin Kosnik writes: > OK. > > Looks great thanks Ranier. Installed on mainline and 4.6 branch. Thanks for all your help getting this right. Rainer -- - Rainer Orth, Center for Biotechnology, Bielefeld Uni

Re: [PATCH] Fix simplify_const_unary_operation (PR debug/48204)

2011-03-24 Thread Richard Guenther
On Wed, Mar 23, 2011 at 9:11 PM, Jakub Jelinek wrote: > Hi! > > simplify_const_unary_operation assumes it doesn't have to change anything > in REAL_VALUE_TYPE for FLOAT_EXTEND, which is wrong when FLOAT_EXTENDing > e.g. from SFmode to DDmode or SDmode to DFmode, where the number > needs to be conv

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread H.J. Lu
On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen wrote: > On 17 March 2011 16:48, Richard Guenther wrote: > >>> +  then_datarefs = VEC_alloc (data_reference_p, heap, 1); >>> +  else_datarefs = VEC_alloc (data_reference_p, heap, 1); >>> +  then_ddrs = VEC_alloc (ddr_p, heap, 1); >>> +  else_ddrs = VEC_a

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
"Anatoly Sokolov" writes: > This patch casue ICE on H8300 target: This is due to jump_address_operand checking the wrong mode. The predicate is: (define_predicate "jump_address_operand" (match_code "reg,mem") { if (GET_CODE (op) == REG) return mode == Pmode; [...] } but "mode" is the

Re: [patch] Fix invalid GIMPLE out of SRA

2011-03-24 Thread Richard Guenther
On Wed, Mar 23, 2011 at 9:54 PM, Eric Botcazou wrote: > Hi, > > this is a fallout of one of my gimplifier changes.  For the attached testcase, > the compiler generates invalid GIMPLE at -O1 or above: > > p.adb: In function 'P.F': > p.adb:24:1: error: invalid operand in unary operation > D.2361_107

Re: [lto] Minor cleanups, export some functions (issue4272068)

2011-03-24 Thread Richard Guenther
On Wed, Mar 23, 2011 at 10:24 PM, Diego Novillo wrote: > > This patch has a few cleanups and exports 5 functions from the LTO streamer > that we are using from PPH. > > - When calling output_string_with_length, every caller would first >  write a 0 to indicate that the string is not NULL before wr

Re: [doc patch] obvious partial fix for other/48254

2011-03-24 Thread Richard Guenther
On Wed, Mar 23, 2011 at 11:03 PM, Jonathan Wakely wrote: > Committed to 4.4 and 4.5 branches as obvious, will apply to 4.6 after > 4.6.0 is released. The option's gone on the trunk so not relevant > there. If you apply anything to 4.6 it should probably simply change the docs to say "This option

Re: [doc patch] obvious partial fix for other/48254

2011-03-24 Thread Jonathan Wakely
On 24 March 2011 10:12, Richard Guenther wrote: > On Wed, Mar 23, 2011 at 11:03 PM, Jonathan Wakely > wrote: >> Committed to 4.4 and 4.5 branches as obvious, will apply to 4.6 after >> 4.6.0 is released. The option's gone on the trunk so not relevant >> there. > > If you apply anything to 4.6 it

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Kai Tietz
2011/3/24 Jason Merrill : > On 03/21/2011 06:36 PM, Kai Tietz wrote: >> >> +      attr = lookup_attribute (IDENTIFIER_POINTER (TREE_PURPOSE (a)), >> +                              CONST_CAST_TREE (a2)); > > I might use as->name for the name, and change lookup_attribute to take a > const_tree rather

Re: [PATCH 3/6] Allow jumps in epilogues

2011-03-24 Thread Bernd Schmidt
On 03/23/2011 06:27 PM, Richard Henderson wrote: > On 03/23/2011 10:22 AM, Bernd Schmidt wrote: >> On 03/23/2011 06:19 PM, Richard Henderson wrote: >>> body >>> body >>> restore r1 XXX >>> restore r2 XXX >>> jmp L2 XXX >>> >>> L1: bodyYYY >>> b

[Patch] New bfin divsi/udivsi implementations

2011-03-24 Thread Henderson, Stuart
The attached patch updates the blackfin ___divsi3 and ___udivsi3 implementations (and updates ___umodsi3 to match), as well as adding .size directives to all functions in the file. 2011-03-24 Stuart Henderson * gcc/config/bfin/lib1funcs.asm (___divsi3): New implementation, add .size

[PATCH] Fix PR 48144

2011-03-24 Thread Andrey Belevantsev
Hello, As noted in the PR audit trail, this is a case when we fail to find a transformed insn due to incomplete transformation history attached to it. The earlier fixes of this issue worked only for bookkeeping copies, but now we need a more general mechanism. Fixed by simply picking up addit

Re: [patch, ARM] Fix PR48250, adjust DImode reload address legitimizing

2011-03-24 Thread Richard Earnshaw
On Thu, 2011-03-24 at 12:56 +0900, Chung-Lin Tang wrote: > Hi, > PR48250 happens under TARGET_NEON, where DImode is included within the > valid NEON modes. This turns the range of legitimate constant indexes to > step-4 (coproc load/store), thus arm_legitimize_reload_address() when > trying to dec

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Kai Tietz
Sorry, but I found some commenting issues and reworked them a bit. Attached is the updated patch. Kai Index: gcc/gcc/c-typeck.c === --- gcc.orig/gcc/c-typeck.c 2011-03-24 08:23:42.441173500 +0100 +++ gcc/gcc/c-typeck.c 2011-03-24

Re: [patch] Fix PR48183, NEON ICE in emit-rtl.c:immed_double_const() under -g

2011-03-24 Thread Richard Sandiford
Chung-Lin Tang writes: > PR48183 is a case where ARM NEON instrinsics, under -O -g, produce debug > insns that tries to expand OImode (32-byte integer) zero constants, much > too large to represent as two HOST_WIDE_INTs; as the internals manual > indicates, such large constants are not supported i

Re: [patch, ARM] Enable auto-detection of vector size for NEON

2011-03-24 Thread Joseph S. Myers
On Thu, 24 Mar 2011, Ira Rosen wrote: > Hi, > > This patch implements TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES for ARM > NEON. Given the multiple vector sizes support, is there a reason not to enable -mvectorize-with-neon-quad by default? -- Joseph S. Myers jos...@codesourcery.com

Re: [patch, ARM] Enable auto-detection of vector size for NEON

2011-03-24 Thread Ira Rosen
On 24 March 2011 13:03, Joseph S. Myers wrote: > On Thu, 24 Mar 2011, Ira Rosen wrote: > >> Hi, >> >> This patch implements TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES for ARM >> NEON. > > Given the multiple vector sizes support, is there a reason not to enable > -mvectorize-with-neon-quad by def

Update config.sub

2011-03-24 Thread Joseph S. Myers
I've updated config.sub to the latest version from config.git. This will facilitate further cleanups by ensuring that certain obsolete triplets can never appear as canonical hosts or targets in gcc or src builds. Index: ChangeLog =

Remove dead cases from toplevel configure.ac

2011-03-24 Thread Joseph S. Myers
This patch removes various dead cases from the toplevel configure.ac. Target ep9312-* isn't known to config.sub at all so those cases have been dead for a long time; likewise parisc*64*-* (those parisc cases it does know have also been handled by config.sub as aliases for hppa-* for a long time).

Re: [patch, ARM] Enable auto-detection of vector size for NEON

2011-03-24 Thread Ramana Radhakrishnan
On 24/03/11 09:06, Ira Rosen wrote: Hi, This patch implements TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES for ARM NEON. Regtested on arm-linux-gnueabi. OK for trunk? This is OK for trunk if there are no regressions. cheers Ramana Thanks, Ira ChangeLog: * config/arm/arm.c (arm_au

[PATCH] use cfglayout mode for instatiate_virtual_regs

2011-03-24 Thread Nathan Froyd
As $SUBJECT suggests. The patch looks much bigger than it actually is due to re-indentation. Tested on x86_64-unknown-linux-gnu. OK to commit? -Nathan * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and FOR_BB_INSNS_SAFE to iterate through insns. Re-indent. *

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Jason Merrill
On 03/24/2011 11:56 AM, Kai Tietz wrote: + if (TREE_VALUE (a) != NULL_TREE + && TREE_CODE (TREE_VALUE (a)) == TREE_LIST + && TREE_VALUE (attr) != NULL + && TREE_CODE (TREE_VALUE (attr)) == TREE_LIST) + { + if (simple_cst_list_equal (TREE_VALUE (a), +

Re: Cleaning up expand optabs code

2011-03-24 Thread Andreas Krebbel
On 03/22/2011 06:48 PM, Richard Henderson wrote: > Ok. Watch out for other target problems this week. This unfortunately broke bootstrap on s390. An unrecognizable insns is generated: (insn 22 21 23 4 (set (reg/v:DI 44 [ end]) (mult:DI (sign_extend:DI (mem/s/j:SI (plus:SI (reg/v/f:SI 47 [ f

Re: Remove dead cases from toplevel configure.ac

2011-03-24 Thread Paolo Bonzini
On 03/24/2011 12:26 PM, Joseph S. Myers wrote: This patch removes various dead cases from the toplevel configure.ac. Target ep9312-* isn't known to config.sub at all so those cases have been dead for a long time; likewise parisc*64*-* (those parisc cases it does know have also been handled by con

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
Andreas Krebbel writes: > On 03/22/2011 06:48 PM, Richard Henderson wrote: > >> Ok. Watch out for other target problems this week. > > This unfortunately broke bootstrap on s390. This is PR 48263. Since it seems to be affecting several targets, and since my bootstrap seems to be taking a looong

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 11:03 AM, H.J. Lu wrote: > On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen wrote: >> On 17 March 2011 16:48, Richard Guenther wrote: >> +  then_datarefs = VEC_alloc (data_reference_p, heap, 1); +  else_datarefs = VEC_alloc (data_reference_p, heap, 1); +  then_dd

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 1:39 PM, Richard Guenther wrote: > On Thu, Mar 24, 2011 at 11:03 AM, H.J. Lu wrote: >> On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen wrote: >>> On 17 March 2011 16:48, Richard Guenther wrote: >>> > +  then_datarefs = VEC_alloc (data_reference_p, heap, 1); > +  else_

[PATCH] Fix PR48269

2011-03-24 Thread Richard Guenther
This removes a double-accounting for MEM_REF offsets. The code still looks somewhat fishy, but at least is consistent in what it does now ;) Bootstrapped and tested on x86_64-unknonw-linux-gnu, applied to trunk. Richard. 2011-03-24 Richard Guenther PR middle-end/48269 * tre

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread Ira Rosen
On 24 March 2011 14:40, Richard Guenther wrote: > On Thu, Mar 24, 2011 at 1:39 PM, Richard Guenther > wrote: >> On Thu, Mar 24, 2011 at 11:03 AM, H.J. Lu wrote: >>> On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen wrote: On 17 March 2011 16:48, Richard Guenther wrote: >> +  then_

gcc-patches@gcc.gnu.org

2011-03-24 Thread Diego Novillo
On Sun, Nov 21, 2010 at 21:52, Nathan Froyd wrote: >        * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison. >        (FUNCTION_ARG_ADVANCE): Likewise. >        * tm.texi.in: Change references to them to hook references. >        * tm.texi: Regenerate. >        * targhooks.c (default_fun

Re: [PATCH][RFC] Add gimple_fold

2011-03-24 Thread Diego Novillo
On Tue, Mar 22, 2011 at 04:59, Richard Guenther wrote: > I simply put it in place as a possibility, I currently don't plan > to implement any GF_KIND_COMPLEX folders (the caller would need to > re-gimplify them which doesn't sound too useful).  Maybe I should > simply drop it. Perhaps. Not supp

Scheduler cleanups, 1/N

2011-03-24 Thread Bernd Schmidt
I have a number of patches that will be necessary for a new target. Some of these can be applied now as cleanups, so I'm submit them now. This changes the schedule_block main loop not to move instructions while computing the schedule. Instead, we collect them in a VEC and modify the RTL afterwards

Scheduler cleanups, 2/N

2011-03-24 Thread Bernd Schmidt
This prints a bit more information in debugging dumps. Bootstrapped and tested on i686-linux. Bernd * haifa-sched.c (queue_insn): New arg REASON. All callers changed. Print it in debugging output. Index: gcc/haifa-sched.c

[PATCH PING] fortran-specific bits of tree-slimming patches

2011-03-24 Thread Nathan Froyd
The Fortran-specific bits of these patches: [PATCH 02/18] enforce TREE_CHAIN and TREE_TYPE accesses http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00565.html [PATCH 07/18] generalize build_case_label to the rest of the compiler http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00557.html [PAT

Scheduler cleanups, 3/N

2011-03-24 Thread Bernd Schmidt
This caches dependency costs. The target adjust_cost macro can be quite expensive. This may not make much of a difference now, but in the final backtracking scheduler patches (which I'm omitting for the moment) we look at these costs a bit more often. Bernd gcc/ * sched-int.h (str

[PATCH PING] c++-specific bits of tree-slimming patches

2011-03-24 Thread Nathan Froyd
The C++-specific bits of these patches: [PATCH 02/18] enforce TREE_CHAIN and TREE_TYPE accesses http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00557.html [PATCH 07/18] generalize build_case_label to the rest of the compiler http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00557.html [PATCH 0

Scheduler cleanups, 4/N

2011-03-24 Thread Bernd Schmidt
We have a mechanism to prevent the scheduler from touching certain blocks; this is used by modulo scheduling. sched-ebb does not honor this flag currently; this patch fixes it. Bootstrapped and tested on i686-linux (pointlessly... but it's also used in our local tree for a new target, TI C6X). Be

Scheduler cleanups, 5/5

2011-03-24 Thread Bernd Schmidt
We can currently select an insn to be scheduled, only to find out that it's not actually valid at the current time, either due to state conflicts or being an asm with something else already scheduled in the same cycle. Not only is this pointless, it causes problem with the sched_reorder logic in th

Re: [PATCH][ARM] Discourage use of NEON on Cortex-A8

2011-03-24 Thread Richard Earnshaw
On Tue, 2011-03-22 at 14:08 +, Andrew Stubbs wrote: > And again, with the patch ... > > On 22/03/11 14:05, Andrew Stubbs wrote: > > On 14/03/11 18:17, Richard Earnshaw wrote: > > > I think the order should be: not-a8, core-regs, core-regs, only-a8. > > > > Ok, how about this? > > > > I've te

Re: [RFC] Add a new argument to SELECT_CC_MODE

2011-03-24 Thread Richard Earnshaw
On Tue, 2011-03-22 at 21:00 +0100, Eric Botcazou wrote: > > Like in the attached patch. > > Sandra expressed an interest for it so I've installed it on the mainline > after > bootstrapping and regtesting on x86_64-suse-linux. > > > 2011-03-22 Eric Botcazou > > * combine.c (simplify

Re: [patch] Fix PR48183, NEON ICE in emit-rtl.c:immed_double_const() under -g

2011-03-24 Thread Julian Brown
On Thu, 24 Mar 2011 10:57:06 + Richard Sandiford wrote: > Chung-Lin Tang writes: > > PR48183 is a case where ARM NEON instrinsics, under -O -g, produce > > debug insns that tries to expand OImode (32-byte integer) zero > > constants, much too large to represent as two HOST_WIDE_INTs; as > >

Remove old host cases from toplevel configure

2011-03-24 Thread Joseph S. Myers
This patch removes cases for a range of old hosts from the toplevel configure.ac, as I think those cases are no longer useful. All the removed code comes from Cygnus configure before the toplevel configure was converted to be an autoconf-generated script. In general those hosts, if ever supported

Re: Problem with ARM longcalls

2011-03-24 Thread Richard Earnshaw
On Wed, 2011-03-23 at 16:46 +0100, Bernd Schmidt wrote: > I've discovered a problem with -mlong-calls on ARM. The bug was first > reported against a new target, but I'd copied the relevant code from the > ARM backend. > > We use current_function_section in arm_is_long_call_p to decide whether > w

Re: Problem with ARM longcalls

2011-03-24 Thread Bernd Schmidt
On 03/24/2011 03:24 PM, Richard Earnshaw wrote: > > On Wed, 2011-03-23 at 16:46 +0100, Bernd Schmidt wrote: >> I've discovered a problem with -mlong-calls on ARM. The bug was first >> reported against a new target, but I'd copied the relevant code from the >> ARM backend. >> >> We use current_func

Fix more minor issues from static checkers

2011-03-24 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 First in tree-ssa-live.c, "ann" is set, but never used in a couple places. Second, in tree-ssa-copy.c we set "stmt" in propagate_tree_value_into_stmt, but never use it. Removing the assignment is obviously trivial. Finally, in cfglayout force_nonfa

[PATCH] Fix PR48270

2011-03-24 Thread Richard Guenther
Bootstrapped and tested on x86_64-unknonw-linux-gnu, applied. Richard. 2011-03-24 Richard Guenther PR tree-optimization/48270 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do not free datarefs before ddrs. Index: gcc/tree-ssa-phiopt.c

[PATCH] Paper over(?) PR48271

2011-03-24 Thread Richard Guenther
This maybe papers over PR48271, we're modifying the CFG and yet marking some BBs for cleanup. Well, at least the jump-threading case is supposed to work this way. DOM doesn't deserve too much love, so ... Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2011-03-

[patch] Preserve source location in folder

2011-03-24 Thread Eric Botcazou
Hi, when fold_ternary_loc is attempting to make the tree prettier, e.g. by swapping the arguments of a COND_EXPR, it does: tem = fold_truth_not_expr (loc, arg0); Now LOC is the location that will be put on the whole expression and there is no reason it should override the location of ARG0, i

[patch] Do not generate useless branches for multi-word comparison

2011-03-24 Thread Eric Botcazou
Hi, this improves the RTL generated for multi-word comparison to avoid generating useless branches. In do_jump_by_parts_greater_rtx: 1) do not generate the last cond jump, 2) do not generate the uncond branch to the drop-through label, if any, 3) generate only one comparison for the specia

[PATCH] fix memory accounting for copying nodes

2011-03-24 Thread Nathan Froyd
tree.c can gather optionally statistics--counts and total bytes allocated--when tree nodes are created. Due to an oversight, however, this accounting is not performed when nodes are copied. The patch below corrects this oversight and moves things around so the accounting is done in (almost) only

Re: Fix more minor issues from static checkers

2011-03-24 Thread Diego Novillo
On Thu, Mar 24, 2011 at 10:37, Jeff Law wrote: > Bootstrapped and regression tested on x86_64-unknown-linux-gnu.  OK for > trunk? OK. Diego.

Re: [patch] Preserve source location in folder

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 3:38 PM, Eric Botcazou wrote: > Hi, > > when fold_ternary_loc is attempting to make the tree prettier, e.g. by > swapping > the arguments of a COND_EXPR, it does: > >  tem = fold_truth_not_expr (loc, arg0); > > Now LOC is the location that will be put on the whole expressi

Re: [PATCH] fix memory accounting for copying nodes

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 3:46 PM, Nathan Froyd wrote: > tree.c can gather optionally statistics--counts and total bytes > allocated--when tree nodes are created.  Due to an oversight, however, > this accounting is not performed when nodes are copied.  The patch below > corrects this oversight and m

[rs6000] Fix thinko in output_profile_hook

2011-03-24 Thread Eric Botcazou
Hi, the problematic line is: label_name = (*targetm.strip_name_encoding) (ggc_strdup (buf)); On AIX, rs6000_xcoff_strip_name_encoding can return NAME + 1: static const char * rs6000_xcoff_strip_name_encoding (const char *name) { size_t len; if (*name == '*') name++; len = strlen (name

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
Richard Sandiford writes: > Andreas Krebbel writes: >> On 03/22/2011 06:48 PM, Richard Henderson wrote: >> >>> Ok. Watch out for other target problems this week. >> >> This unfortunately broke bootstrap on s390. > > This is PR 48263. Since it seems to be affecting several targets, > and since m

Re: [Patch ARM] PR47930 Fix documentation for marm / mthumb

2011-03-24 Thread Richard Earnshaw
On Sun, 2011-03-20 at 15:19 +, Ramana Radhakrishnan wrote: > Hi, > > This fixes up documentation for the -marm option and changes the > behaviour of mthumb to reject the negative options to bring this to > behave similar to the marm option. The option needs to be documented > since w

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
This showed up as a warning during the h8300 build I did this morning. I've no idea why it wasn't caught during the x86_64, ARM and MIPS testing. Bootstrapped & regression-tested on x86_64-linux-gnu. Installed as obvious. Richard gcc/ * builtins.c (expand_movstr): Fix endp == 1 adjustm

[Ada] Fix bogus CE raised on call to overloaded function

2011-03-24 Thread Eric Botcazou
The attached code (derived from ACATS c34006d) raises a bogus Constraint_Error since at least GCC 3.4: raised CONSTRAINT_ERROR : p.adb:33 discriminant check failed This is related to the overloading of function Create. Tested on i586-suse-linux, applied on the mainline. 2011-03-24 Eric Botca

Re: [PATCH PING] fortran-specific bits of tree-slimming patches

2011-03-24 Thread Jerry DeLisle
On 03/24/2011 06:10 AM, Nathan Froyd wrote: The Fortran-specific bits of these patches: [PATCH 02/18] enforce TREE_CHAIN and TREE_TYPE accesses http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00565.html [PATCH 07/18] generalize build_case_label to the rest of the compiler http://gcc.gn

[debug] Remove deprecated DW_FORM_sig8 define

2011-03-24 Thread Mark Wielaard
Hi, While reading through the unit type support I noticed some parts were still using the old DW_FORM_sig8 while others used the actual DW_FORM_ref_sig8 as used in the dwarf spec. I missed some things in a first scan because of this, so I thought I just clean it up. 2010-03-24 Mark Wielaard

Tighten ARM's CANNOT_CHANGE_MODE_CLASS

2011-03-24 Thread Richard Sandiford
We currently generate very poor code for tests like: #include void foo (uint32_t *a, uint32_t *b, uint32_t *c) { uint32x4x3_t x, y; x = vld3q_u32 (a); y = vld3q_u32 (b); x.val[0] = vaddq_u32 (x.val[0], y.val[0]); x.val[1] = vaddq_u32 (x.val[1], y.val[1]); x.val[2] = vaddq_u32 (x.val

*ping* Re: [Patch, Fortran, 4.7] PR 18918 - Add initial support for a coarray communication library

2011-03-24 Thread Tobias Burnus
*ping* http://gcc.gnu.org/ml/fortran/2011-03/msg00162.html (RFC patch: http://gcc.gnu.org/ml/fortran/2011-03/msg3.html) Tobias PS: I will come back to the other emails of this week tomorrow; I am still recovering from a cold, which started with fever last Sunday :-( On 19.03.2011 17:23,

Re: [x32] PATCH: PR middle-end/47725: [x32] error: unable to find a register to spill in class DIREG

2011-03-24 Thread Eric Botcazou
> Pointer is promoted to Pmode from ptr_mode. Indeed. However the problem is the 2 in assign_parm_setup_reg: /* Store the parm in a pseudoregister during the function, but we may need to do it in a wider mode. Using 2 here makes the result consistent with promote_decl_mode and thus

Tweak ARM vld3q and vld4q patterns

2011-03-24 Thread Richard Sandiford
The ARM vld3q and vld4q .md patterns expand into two individual vld3/vld4 instructions. Each instruction loads half of the total elements. The problem is that this is implemented as: array = vld3a (array, mem1) array = vld3b (array, mem2) with "array" being an input to the _first_ load as we

[Ada] Change return mechanism for variable-sized constrained array types

2011-03-24 Thread Eric Botcazou
This changes the return mechanism for variable-sized constrained array types. They used to be returned on the secondary stack, they are now returned on the primary stack. This is generally more efficient and, in particular, makes it possible for the back-end to elide copies. Tested on i586-suse-l

[debug] dwarf2out emits unnecessary null byte in empty .debug_abbrev section

2011-03-24 Thread Mark Wielaard
Hi, Detected by the elfutils dwarflint tool. Example: $ echo > empty.c $ gcc -g -c empty.c $ readelf -x .debug_abbrev empty.o Hex dump of section '.debug_abbrev': 0x 00 . Although harmless it might add up if a project has a lot of objects without any

Re: [PATCH, C++ testsuite] Fix g++.dg/abi/arm_cxa_vec1.C

2011-03-24 Thread Richard Earnshaw
On Thu, 2011-03-03 at 11:35 +, Yufeng Zhang wrote: > Hi, > > Here is a patch that fixes a problem in one g++ test case. A typo (of > using the macro ___ARM_EABI__ rather than __ARM_EABI__) has made the > original test case almost a NOP. > > Also with a few other changes that make the test wo

[libgo] Improve Solaris 2/SPARC support

2011-03-24 Thread Rainer Orth
In order to improve Go test results on Solaris 2/SPARC, I need the following patch. * go-test.exp wasn't updated for the change from sparcv9 to sparc64. While I still don't agree with the new name, at least the two should be consistent. * env.go needs to accept sparc and sparc64. * Just like

[PATCH] S/390: Fix reject malformed symbolic addresses in preferred_reload_class

2011-03-24 Thread Andreas Krebbel
Hi, reloads of symbolic addresses are done using larl (if possible) which allows to load a symbol_ref or label_ref plus an even addend. Since these addresses are constants special care has to be taken in preferred_reload class. We have to return NO_REGS in case of a malformed address like symref

Re: Remove old host cases from toplevel configure

2011-03-24 Thread Paolo Bonzini
On 03/24/2011 03:11 PM, Joseph S. Myers wrote: Furthermore, the whole idea of the toplevel configure tentative_cc setting code is dubious since this is an autoconf-generated script and it's autoconf's job to deal with finding a working compiler, putting it in ANSI C mode, etc. - so if someone did

[libgo] Support Solaris 8/9

2011-03-24 Thread Rainer Orth
When I tried to build libgo on Solaris 9/x86 with native tools, I ran into a couple of issues: * To correctly build sysinfo.go, one needs a different set of flags to compile sysinfo.c that conflict with the onces needed on Solaris 10+. Since there seems to be no easy way to autoconf this knowl

Re: Tighten ARM's CANNOT_CHANGE_MODE_CLASS

2011-03-24 Thread Richard Earnshaw
On Thu, 2011-03-24 at 15:40 +, Richard Sandiford wrote: > We currently generate very poor code for tests like: > > #include > > void > foo (uint32_t *a, uint32_t *b, uint32_t *c) > { > uint32x4x3_t x, y; > > x = vld3q_u32 (a); > y = vld3q_u32 (b); > x.val[0] = vaddq_u32 (x.val[0],

Re: [PATCH] reload: Avoid superfluous reloads after find_reloads_subreg_address

2011-03-24 Thread Ulrich Weigand
Andreas Krebbel wrote: > 2011-03-23 Andreas Krebbel > > * reload.c (find_reloads_subreg_address): Add address_reloaded > parameter and return true there if the full address has been > reloaded. > (find_reloads_toplev): Pass address_reloaded flag. > (find_reloads_a

Re: [PATCH v3] Re: avoid useless if-before-free tests

2011-03-24 Thread Jim Meyering
Janne Blomqvist wrote: > On Tue, Mar 8, 2011 at 19:53, Jim Meyering wrote: >> Relative to v2, I've added libgo/ to the list of exempt directories and added >> this recently discussed gfc_free patch, at the request of Tobias Burnus. >> Also, I corrected an error in fortran's ChangeLog and removed a

cleanup host fragments more 1/n

2011-03-24 Thread Paolo Bonzini
AR_CFLAGS = cr is already the default. Committed to gcc and src. Paolo 2011-03-24 Paolo Bonzini * mh-sysv4: Remove AR_CFLAGS. Index: mh-sysv4 === --- mh-sysv4(revision 171413) +++ mh-sysv4(working copy) @@ -1,4

[v3] Fix negative_binomial_distribution

2011-03-24 Thread Paolo Carlini
Hi, this does fix a bad thinko of mine in negative_binomial_distribution (the fix will certainly go in 4.6.1, unless Jakub wants it now) + I'm adding basic statistical tests (adapted from GSL) for all the other discrete distributions. Thanks, Paolo. // 2011-03-24 Paolo Carlini

[toplevel] remove tentative_cc

2011-03-24 Thread Paolo Bonzini
As Joseph pointed out in his mail, its time has come. Paolo 2011-03-24 Paolo Bonzini * configure.ac: Remove all mentions of tentative_cc. * configure: Regenerate. Index: configure.ac === --- configure.ac

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Kai Tietz
2011/3/24 Jason Merrill : > How about splitting this out into a separate function that can compare > either list or expression arguments?  That would also be useful for > merge_attributes and attribute_list_contained. > > Jason > Ok, here is the patch ChangeLog gcc/ 2011-03-11 Kai Tietz

[toplevel] cleanup X11_FLAGS_TO_PASS

2011-03-24 Thread Paolo Bonzini
Yet another relic of cygnus configure. Eliminate. Committed to gcc and (shortly) to src. Paolo 2011-03-24 Paolo Bonzini * configure.ac: Remove all mentions of mh-sysv4 and mh-solaris. * configure: Regenerate. * Makefile.def: Remove all mentions of X11_FLAGS_TO_PASS.

Re: [PATCH] Better .debug_aranges fix (PR debug/48253)

2011-03-24 Thread Jason Merrill
On 03/23/2011 09:08 PM, Jakub Jelinek wrote: const char *dw_fde_begin; const char *dw_fde_end; const char *dw_fde_hot_section_label; const char *dw_fde_hot_section_end_label; const char *dw_fde_unlikely_section_label; const char *dw_fde_unlikely_section_end_label; dw_cfi_ref dw_fde_

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Henderson
On 03/24/2011 05:13 AM, Richard Sandiford wrote: > gcc/ > PR rtl-optimization/48263 > * optabs.c (expand_binop_directly): Reinstate convert_modes code > and original commutative_p handling. Use maybe_gen_insn. Ok. r~

[toplevel] cleanup mh-cygwin

2011-03-24 Thread Paolo Bonzini
The cygwin host fragment is using obsolete variables and constructs, modernize it. Committed to gcc and (shortly) src. Paolo 2011-03-24 Paolo Bonzini * Makefile.def: Add dependency from termcap to gdb. * Makefile.in: Regenerate. config: 2011-03-24 Paolo Bonzini

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Jason Merrill
On 03/24/2011 06:06 PM, Kai Tietz wrote: +/* Compare two attributes for identity. Return true if the attributes + are known to be equal; otherwise return false. */ + +static bool +attribute_equal (const_tree attr1, const_tree attr2) +{ + if (attr1 == attr2) +return true; + Shouldn't th

Re: [PATCH] Better .debug_aranges fix (PR debug/48253)

2011-03-24 Thread Jakub Jelinek
On Thu, Mar 24, 2011 at 06:08:01PM +0100, Jason Merrill wrote: > This ought to cut down on the number of cases we have to handle in > all the different places in dwarf2out that deal with this stuff. > > Does that make sense to you? I'll try to implement it tomorrow, currently don't see why your i

[toplevel] remove empty cases

2011-03-24 Thread Paolo Bonzini
This enables omit-frame-pointer for i386-solaris. I honestly haven't bootstrapped it, but I don't expect any problems (and if they appear, it's much better to fix them ;). Committed to gcc and (shortly) to src. Paolo 2011-03-24 Paolo Bonzini * configure.ac: Remove empty cases.

Re: [toplevel] remove empty cases

2011-03-24 Thread Joseph S. Myers
On Thu, 24 Mar 2011, Paolo Bonzini wrote: > This enables omit-frame-pointer for i386-solaris. I honestly haven't > bootstrapped it, but I don't expect any problems (and if they appear, it's > much better to fix them ;). How about killing mh-x86omitfp? The x86 compiler defaults to -fomit-frame-

Re: [toplevel] remove empty cases

2011-03-24 Thread Rainer Orth
"Joseph S. Myers" writes: > On Thu, 24 Mar 2011, Paolo Bonzini wrote: > >> This enables omit-frame-pointer for i386-solaris. I honestly haven't >> bootstrapped it, but I don't expect any problems (and if they appear, it's >> much better to fix them ;). > > How about killing mh-x86omitfp? The x8

Commit: RX: Add alignment for jumps, loops and labels

2011-03-24 Thread Nick Clifton
Hi Guys, I am applying the patch below to add alignment control for jumps, loops and labels to the RX backend. Tested without regressions on an rx-elf target. Cheers Nick gcc/ChangeLog 2011-03-24 Nick Clifton * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define. (ASM_O

Re: [toplevel] remove empty cases

2011-03-24 Thread Paolo Bonzini
On 03/24/2011 06:18 PM, Joseph S. Myers wrote: > On Thu, 24 Mar 2011, Paolo Bonzini wrote: > > This enables omit-frame-pointer for i386-solaris. I honestly haven't > > bootstrapped it, but I don't expect any problems (and if they appear, it's > > much better to fix them;). > > How about killin

Re: Can't use SImode as Pmode for x32

2011-03-24 Thread Richard Henderson
On 03/23/2011 08:40 PM, H.J. Lu wrote: > Are you suggesting that we should say that SP and BP are 32bits so > that x32 has 16 integer registers, 14 are 64 bites and 2 are 32 bits? No, merely that push/pop are valid with (reg:SI 7 sp). r~

Re: [PATCH 2/2] refactor emit_*_{after,before}{,_setloc} using common functions

2011-03-24 Thread Richard Henderson
On 03/23/2011 02:40 PM, Nathan Froyd wrote: > I can look into just how many places might need to be fixed up because > of this, but scattering a bunch of ifs all over the place seemed less > elegant than handling it all in the emit* functions. Yeah, maybe. On the other hand, the other complicatio

[cxx-mem-model] disallow load data races (1 of some)

2011-03-24 Thread Aldy Hernandez
This is my first stab at disallowing load data races that happen when we cache the value of a global. I would appreciate input before committing, especially on the RTL bits, cause it's been quite a while since I typed d-e-b-u-g-_-r-t-x. :-) In the example below we usually hoist "global" into

mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread Paolo Bonzini
Is this actually desired? And what's all-utils? Can we just kill mt-mep? Thanks! :) Paolo

[patch i386 windows]: Introduce call-abi for 32-bit mingw and make callee_pop_aggregate_return attribute by default on for 32-bit mingw target

2011-03-24 Thread Kai Tietz
Hi, this patch introduces for windows 32-bit target also the call-abi specifiers (ms_abi/sys_v) and set its default for this target to "ms_abi". This patch set the default of the "callee_pop_aggregate_return" attribute to true for MS_ABI call-abi on 32-bit. Additionally it avoids the check of "c

Re: mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread DJ Delorie
There's a top-level utils/ subdir in some trees. Yes, MeP has a tool there.

Re: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Kai Tietz
2011/3/24 Jason Merrill : > On 03/24/2011 06:06 PM, Kai Tietz wrote: >> >> +/* Compare two attributes for identity.  Return true if the attributes >> +   are known to be equal; otherwise return false.  */ >> + >> +static bool >> +attribute_equal (const_tree attr1, const_tree attr2) >> +{ >> +  if (

  1   2   >