Go patch commited: tuple receives indicate whether channel closed

2011-03-24 Thread Ian Lance Taylor
The Go language has changed the meaning of v, ok := -c Now ok is set to whether the channel is closed, rather than having this be a nonblocking read in which ok is set to whether the value was received. Nonblocking reads now require a select statement. This patch implements this in

[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 a...@gjlay.de * 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):

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: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
Anatoly Sokolov ae...@post.ru 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

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 dnovi...@google.com 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

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 jwakely@gmail.com 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

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 jwakely@gmail.com 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

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

2011-03-24 Thread Kai Tietz
2011/3/24 Jason Merrill ja...@redhat.com: 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

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 bodyYYY

[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 stuart.hender...@analog.com * gcc/config/bfin/lib1funcs.asm (___divsi3): New

[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

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

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

2011-03-24 Thread Richard Sandiford
Chung-Lin Tang clt...@codesourcery.com 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

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 jos...@codesourcery.com 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

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).

[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 Richard Sandiford
Andreas Krebbel kreb...@linux.vnet.ibm.com 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

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 11:03 AM, H.J. Lu hjl.to...@gmail.com wrote: On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen ira.ro...@linaro.org wrote: On 17 March 2011 16:48, Richard Guenther richard.guent...@gmail.com wrote: +  then_datarefs = VEC_alloc (data_reference_p, heap, 1); +  else_datarefs =

Re: [patch] Enhance conditional store sinking

2011-03-24 Thread Richard Guenther
On Thu, Mar 24, 2011 at 1:39 PM, Richard Guenther richard.guent...@gmail.com wrote: On Thu, Mar 24, 2011 at 11:03 AM, H.J. Lu hjl.to...@gmail.com wrote: On Tue, Mar 22, 2011 at 6:28 AM, Ira Rosen ira.ro...@linaro.org wrote: On 17 March 2011 16:48, Richard Guenther richard.guent...@gmail.com

[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 rguent...@suse.de PR

Re: [PATCH] finish hookization of FUNCTION_ARG co.

2011-03-24 Thread Diego Novillo
On Sun, Nov 21, 2010 at 21:52, Nathan Froyd froy...@codesourcery.com 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.        *

Re: [PATCH][RFC] Add gimple_fold

2011-03-24 Thread Diego Novillo
On Tue, Mar 22, 2011 at 04:59, Richard Guenther rguent...@suse.de 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.

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

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

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

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

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 tested that it

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 ebotca...@adacore.com *

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 richard.sandif...@linaro.org wrote: Chung-Lin Tang clt...@codesourcery.com 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

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

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

[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,

[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

[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 l...@redhat.com 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 ebotca...@adacore.com 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

[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

Re: Cleaning up expand optabs code

2011-03-24 Thread Richard Sandiford
Richard Sandiford richard.sandif...@linaro.org writes: Andreas Krebbel kreb...@linux.vnet.ibm.com 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

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 we now

[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

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

[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 arm_neon.h 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] =

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

[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 work

[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

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

[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

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 arm_neon.h 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 andreas.kreb...@de.ibm.com * 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.

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 bonz...@gnu.org * mh-sysv4: Remove AR_CFLAGS. Index: mh-sysv4 === --- mh-sysv4(revision 171413) +++ mh-sysv4

[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

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

2011-03-24 Thread Kai Tietz
2011/3/24 Jason Merrill ja...@redhat.com: 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

[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 bonz...@gnu.org * configure.ac: Remove all mentions of mh-sysv4 and mh-solaris. * configure: Regenerate. * Makefile.def: Remove all mentions of

[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 bonz...@gnu.org * configure.ac: Remove

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

Re: [toplevel] remove empty cases

2011-03-24 Thread Rainer Orth
Joseph S. Myers jos...@codesourcery.com 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

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 ni...@redhat.com * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER):

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 killing

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~

[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

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: [libgo] Support Solaris 8/9

2011-03-24 Thread Rainer Orth
Ian Lance Taylor i...@google.com writes: Just a quick note that I committed patches yesterday which should fix at least some of those problems. I failed to commit some of the test data the last time I updated the library. Fine, I'll give it another try tonight or over the weekend.

Re: Remove old host cases from toplevel configure

2011-03-24 Thread Joseph S. Myers
On Thu, 24 Mar 2011, 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

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

2011-03-24 Thread Richard Henderson
On 03/24/2011 10:33 AM, Aldy Hernandez wrote: In the example below we usually hoist global into a register or temporary to avoid reading from it at each step. This would cause a race if another thread had modified global in between iterations. for (x=0; x 5; x++) sum[x] =

Re: [RFC PATCH, i386]: ICE: in final_scan_insn due to late split

2011-03-24 Thread Rainer Orth
Uros Bizjak ubiz...@gmail.com writes: 2011-03-23 Uros Bizjak ubiz...@gmail.com PR target/48237 * config/i386/i386.md (*movdf_internal_rex64): Do not split alternatives that can be handled with movq or movabsq insn. (*movdf_internal): Disable for !TARGET_64BIT.

More toplevel configure.ac pruning

2011-03-24 Thread Joseph S. Myers
This toplevel configure patch continues pruning useless or incorrect code, generally specific to particular hosts or targets. * There are mentions of target-groff, target-librx and tix, but these are useless as they are not in Makefile.def, so they can safely be removed. * libmudflap is

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

2011-03-24 Thread Richard Henderson
On 03/24/2011 09:26 AM, Mark Wielaard wrote: /* Terminate the table. */ - dw2_asm_output_data (1, 0, NULL); + if (abbrev_die_table_in_use 1) +dw2_asm_output_data (1, 0, NULL); I'd prefer this to be handled by if (abbrev_die_table_in_use == 0) return; at the beginning of

Re: [PATCH] Fix PR 48144

2011-03-24 Thread Vladimir Makarov
On 03/24/2011 06:50 AM, Andrey Belevantsev wrote: 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

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

2011-03-24 Thread Richard Henderson
On 03/24/2011 07:38 AM, Eric Botcazou wrote: + /* Deal with the special case 0 x: only one comparison is necessary and + we reverse it to avoid jumping to the drop-through label. */ + if (op0 == const0_rtx drop_through_if_true !drop_through_if_false) +{ + code = LE; +

Re: [PATCH] use cfglayout mode for instatiate_virtual_regs

2011-03-24 Thread Richard Henderson
On 03/24/2011 04:47 AM, Nathan Froyd wrote: * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and FOR_BB_INSNS_SAFE to iterate through insns. Re-indent. * passes.c (init_optimization_passes): Move pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.

Re: [RFC PATCH, i386]: ICE: in final_scan_insn due to late split

2011-03-24 Thread Uros Bizjak
On Thu, Mar 24, 2011 at 8:59 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: Uros Bizjak ubiz...@gmail.com writes: 2011-03-23  Uros Bizjak  ubiz...@gmail.com       PR target/48237       * config/i386/i386.md (*movdf_internal_rex64): Do not split       alternatives that can be handled

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

2011-03-24 Thread Aldy Hernandez
On 03/24/11 14:58, Richard Henderson wrote: On 03/24/2011 10:33 AM, Aldy Hernandez wrote: In the example below we usually hoist global into a register or temporary to avoid reading from it at each step. This would cause a race if another thread had modified global in between iterations.

Re: [google] Port lock annotations/analysis to google/main branch (issue4275075)

2011-03-24 Thread Diego Novillo
On Thu, Mar 24, 2011 at 15:30, Le-Chun Wu l...@google.com wrote: 2011-03-24  Le-Chun Wu  l...@google.com        * Makefile.in: Add new source file and headers in dependencies.        * attribs.c (decl_attributes): Handle lock attributes.        (is_lock_attribute_with_args): New function.  

Re: [google] Port lock annotations/analysis to google/main branch (issue4275075)

2011-03-24 Thread lcwu
Could you also update http://gcc.gnu.org/wiki/ThreadSafetyAnnotation? It still points to the old branch and seems to have stale content. Will do. Any plans for mainline merge? I don't actually have a time frame for that, but that is the ultimate goal.

Re: [toplevel] cleanup mh-cygwin

2011-03-24 Thread Dave Korn
On 24/03/2011 17:11, Paolo Bonzini wrote: The cygwin host fragment is using obsolete variables and constructs, modernize it. Committed to gcc and (shortly) src. Thanks, top-level stuff is a bit of a mystery to me :) cheers, DaveK

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

2011-03-24 Thread Richard Henderson
On 03/24/2011 01:54 PM, Mark Wielaard wrote: + if (abbrev_die_table_in_use == 1) +return; + for (abbrev_id = 1; abbrev_id abbrev_die_table_in_use; ++abbrev_id) { dw_die_ref abbrev = abbrev_die_table[abbrev_id]; Still OK? Yes. r~

libgo patch committed: Update to current version of Go library

2011-03-24 Thread Ian Lance Taylor
I've committed a patch to libgo to update to the current version of the master Go library. The patch is too large to include here, and is in any case simply a copy of changes available in the master Go library repository. See SVN or http://codereview.appspot.com/4281068/ for the changes as

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

2011-03-24 Thread Andrew MacLeod
On Thu, 24 Mar 2011, Aldy Hernandez wrote: This work is independent of the C++ memory model. It is just to prevent the optimizers from introducing new data races due to code movement. This initial pass is just to make the optimizations data race safe so that if you have a program which is

Re: [4.7] Avoid global state in sparc_handle_option

2011-03-24 Thread Joseph S. Myers
On Thu, 17 Mar 2011, Eric Botcazou wrote: 2011-03-13 Joseph Myers jos...@codesourcery.com * config/sparc/sparc-opts.h: New. Do you really need all the dates in there? They were the dates on sparc.h from which this file was split out. This version uses only the dates of the

[alpha] Revert input_operand change for vms

2011-03-24 Thread Richard Henderson
While purging Windows code, I failed to remember that VMS has a 32-bit mode as well, and thus this line still matters. r~ diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 38d40b5..abd96c7 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -177,6

[alpha] Unify zero_extend patterns with attribute enabled

2011-03-24 Thread Richard Henderson
The attribute enabled feature can help avoid quite a lot of duplication in the alpha backend. This begins the process by tackling the easiest -- zero_extension, conditionalized on the existance of the BWX instruction set extension. Tested on alpha{,ev5,ev56,ev67}-linux. r~ + *

[alpha] cleanup sign_extension patterns

2011-03-24 Thread Richard Henderson
We don't get a chance to use attribute enabled here, but we can eliminate some unnecessary expanders. The non-BWX expansion paths wound up subregging the input to DImode to perform the operation and subregging it back. Exactly as the generic code paths would do. I didn't investigate what

[alpha] Unify most move patterns with attribute enabled

2011-03-24 Thread Richard Henderson
This handles everything except movdi, which is more complex. One perhaps non-obvious thing is the use of the ABI as an isa entry with respect to the loading of an address constant. This appears in movsi for VMS. This turns out to be significantly easier than using two different attributes to

[alpha] Unify movdi with attribute enabled.

2011-03-24 Thread Richard Henderson
This handles the movdi pattern, of which there were four copies... r~ + * config/alpha/alpha.md (attribute isa): Add er, ner. + (attribute enabled): Handle them. + (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}. diff --git a/gcc/config/alpha/alpha.md

[alpha] Tidy some byte manipulation users.

2011-03-24 Thread Richard Henderson
We have helper expanders -- originally for the builtins -- so that we can write mskwh instead of mskxh-plus-magic-argument. Use them more often. r~ + * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql. + (alpha_expand_unaligned_store): Use mskwl, mskll, mskql. +

Re: [PATCH] use cfglayout mode for instatiate_virtual_regs

2011-03-24 Thread H.J. Lu
On Thu, Mar 24, 2011 at 4:47 AM, Nathan Froyd froy...@codesourcery.com wrote: 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

Go patch committed: Remove closed function

2011-03-24 Thread Ian Lance Taylor
The predeclared function closed has been removed from the Go language, as it is no longer necessary now that v, ok = -c returns whether the channel is closed. This patch implements that in gccgo. This patch also fixes the handling of case v, ok := -c in a select statement. Bootstrapped and ran

Re: [PATCH] use cfglayout mode for instatiate_virtual_regs

2011-03-24 Thread H.J. Lu
On Thu, Mar 24, 2011 at 9:11 PM, H.J. Lu hjl.to...@gmail.com wrote: On Thu, Mar 24, 2011 at 4:47 AM, Nathan Froyd froy...@codesourcery.com wrote: 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?