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 wrote: > On Thu, Mar 24, 2011 at 4:47 AM, Nathan Froyd > 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? Did you run -m32 tests on Linux/x

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 ra

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 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 FOR_EACH_BB and >      

Re: [alpha] Revert input_operand change for vms

2011-03-24 Thread Richard Henderson
On 03/24/2011 05:06 PM, Richard Henderson wrote: > While purging Windows code, I failed to remember that VMS has a 32-bit > mode as well, and thus this line still matters. Bah. This patch, not the other one. r~ commit 3351cef043c126925829c9b414a087251dc67e45 Author: rth Date: Fri Mar 25 00:0

[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. + (a

[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 b/gcc/config/alpha/alp

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

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

[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~ + * config/alp

[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 +177

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 > > > > * 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 revisions shown by "s

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 prove

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 applie

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~

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: [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. http://codereview.appspot.com/427507

Re: More fixes from static analysis checkers

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

More fixes from static analysis checkers

2011-03-24 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 We had a variety of functions which would fail to call va_end prior to returning. I'm not aware of a host were this could cause a problem, but it's easy enough to fix and keeps the checkers quiet. Bootstrapped and regression tested on x86_64-unknown

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

2011-03-24 Thread Joseph S. Myers
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: [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 wrote: > 2011-03-24  Le-Chun Wu   > >        * Makefile.in: Add new source file and headers in dependencies. >        * attribs.c (decl_attributes): Handle lock attributes. >        (is_lock_attribute_with_args): New function. >        (is_lock_attribute_

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: [debug] dwarf2out emits unnecessary null byte in empty .debug_abbrev section

2011-03-24 Thread Mark Wielaard
> >/* 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 the function. > > Ok with that ch

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 wrote: > Uros Bizjak writes: > >> 2011-03-23  Uros Bizjak   >> >>       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)

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: [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: [debug] Remove deprecated DW_FORM_sig8 define

2011-03-24 Thread Richard Henderson
On 03/24/2011 08:30 AM, Mark Wielaard wrote: > 2010-03-24 Mark Wielaard > > * dwarf2.h (dwarf_form): Remove deprecated DW_FORM_sig8 define. > > 2011-03-24 Mark Wielaard > > * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8. > (value_format): Use DW_FORM_ref_si

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 g

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 o

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 disab

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

2011-03-24 Thread Rainer Orth
Uros Bizjak writes: > 2011-03-23 Uros Bizjak > > 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. > (*movdf_internal_nointege

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: 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: [patch middle-end c c++]: Optimize cost of comp_type_attributes

2011-03-24 Thread Kai Tietz
2011/3/24 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, con

Re: mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread Joseph S. Myers
On Thu, 24 Mar 2011, Paolo Bonzini wrote: > > One thing I wonder is if we can > > kill the toplevel support for building lots of miscellaneous tools that > > aren't in the gcc or src trees and that aren't libraries used by tools in > > those trees (such as the support for dropping a GMP source tre

Re: [PATCH, 4.7] Have all inlining destinations "analyzed"

2011-03-24 Thread Martin Jambor
Ping. Thanks, Martin -- On Sat, Mar 19, 2011 at 01:48:36AM +0100, Martin Jambor wrote: Hi, On Fri, Mar 11, 2011 at 03:30:53PM +0100, Jan Hubicka wrote: > > Index: src/gcc/cgraph.c > > ==

Re: mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread Paolo Bonzini
On 03/24/2011 06:43 PM, Joseph S. Myers wrote: On Thu, 24 Mar 2011, Paolo Bonzini wrote: Is this actually desired? And what's all-utils? Can we just kill mt-mep? utils at least exists in the src tree. Indeed I didn't know about it. :) However it's not necessary to add it specially nowad

Re: [libgo] Support Solaris 8/9

2011-03-24 Thread Rainer Orth
Ian Lance Taylor 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. Rainer -- --

Re: [libgo] Support Solaris 8/9

2011-03-24 Thread Ian Lance Taylor
Rainer Orth writes: > FAIL: image/png > Can't open -n > grep: can't open -n > grep: can't open -n > --- FAIL: png.TestReader (1.0 seconds) > basn0g01-30 open testdata/pngsuite/basn0g01-30.png: No such file or > directory > basn0g02-29 open testdata/pngsuite/basn0g02-29.png: No such f

[toplevel] Target fragments cleanups

2011-03-24 Thread Paolo Bonzini
EXTRA_TARGET_HOST_* has been obsolete for years, GDB_NLM_DEPS was touched exactly once in 1995, and mt-v810 has no references. Committed to gcc and src. Paolo 2011-03-24 Paolo Bonzini * configure.ac: Remove references to mt-mep, mt-netware, mt-wince. * Makefile.def:

Re: [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
2011/3/24 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.  Add

Re: mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread Joseph S. Myers
On Thu, 24 Mar 2011, Paolo Bonzini wrote: > Is this actually desired? And what's all-utils? Can we just kill mt-mep? utils at least exists in the src tree. One thing I wonder is if we can kill the toplevel support for building lots of miscellaneous tools that aren't in the gcc or src trees a

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 (

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.

[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

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

[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

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

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

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

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-

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

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

[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: 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~

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_

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

[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

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

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

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: 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],

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

[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

[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

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

[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

[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

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

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

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

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

[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

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

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

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

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

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

[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

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

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

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

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

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

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

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

  1   2   >