Re: [PATCH, ARM] PR47855 Compute attr "length" for some thumb2 insns

2011-03-31 Thread Carrot Wei
Hi Ramana On Thu, Mar 31, 2011 at 11:57 PM, Ramana Radhakrishnan wrote: >>> Hi Carrot, >>>        How about adding an alternative only enabled for T2 that uses the >>> `l' >>> constraint and inventing new constraints for some of the constant values >>> that are valid for 16 bit instructions since

Re: [RFC][patch] If-conversion of COMPONENT_REFs

2011-03-31 Thread Ira Rosen
On 30 March 2011 15:09, Ira Rosen wrote: > > I don't see any :) I'll test your version. > Bootstrapped on powerpc64-suse-linux and tested on x86_64-suse-linux the attached patch. OK to apply? Thanks, Ira ChangeLog:         * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all

Re: Split up toplevel library-disabling cases

2011-03-31 Thread Joerg Wunsch
As Weddington, Eric wrote: > > Target maintainers: I'd like to understand why it is necessary to > > disable libssp for AVR, AIX and Microblaze, and libstdc++-v3 for AVR > > (and what use C++ is on AVR without libstdc++-v3 - do you use another > > C++ library?). [...] > Regarding the AVR port, AF

[PATCH] ICE on mainline bootstrap with powerpc64 -mcmodel={medium,large}

2011-03-31 Thread Alan Modra
On Thu, Mar 31, 2011 at 01:35:17PM -0500, Peter Bergner wrote: > Alan, > > Mainline seems to be broken on bootstrap when GCC is configured with > LD=/path/to/ld/that/supports/Large-TOC. I'm attaching a preprocessed > source file from the build and it compiles fine with -mcmodel=small, > but ICE's

[patch] c-decl.c(grokdeclarator) trivial formating fixes

2011-03-31 Thread Gary Funck
See attached: two places in grokdeclarartor, where extra spaces appear. I can make this patch, or perhaps someone else can just fold it into something they're doing? (Although I had separately made these changes in the GUPC branch, I haven't tested them. Hopefully, they're safe by inspection.) -

Re: [libgo] Support Solaris 8/9

2011-03-31 Thread Ian Lance Taylor
On Thu, Mar 24, 2011 at 9:44 AM, Rainer Orth wrote: > 2011-03-24  Rainer Orth   > >        * configure.ac (OSCFLAGS): Define. >        * Makefile.am (s-sysinfo): Use it. >        (libgo_la_LDFLAGS): Define. >        * mksysinfo.sh (sysinfo.c) [__sun__ && __svr4__]: Remove. >        Replace \| in

Re: Split up toplevel library-disabling cases

2011-03-31 Thread Ralf Wildenhues
* Joseph S. Myers wrote on Fri, Apr 01, 2011 at 01:40:47AM CEST: > OK to commit (both the previous patch this is based on, and this one)? Build system aspects of the patch are fine with me. Thanks for pursuing this, Ralf > 2011-03-31 Joseph Myers > > * configure.ac: Separate cases disa

Enhance non-assembler .debug_line output

2011-03-31 Thread Richard Henderson
On 03/31/2011 08:37 AM, Richard Henderson wrote: > That said, the patch I'm working on will do this elimination in one place > for both direct output and assembler output, and be mindful of sections. Ok, well, I haven't actually enabled the elimination. It's if 0'd out exactly like in current sou

Re: [patch, fortran] Fix PR 48352 - regression with ICE with front end optimization

2011-03-31 Thread Jerry DeLisle
On 03/31/2011 01:28 PM, Thomas Koenig wrote: Hello world, the attached patch fixes a 4.7 regression, PR 48352, where a function elimination in the expressions for a DO loop caused an ICE. The ICE was caused by interaction of the expression walker with insertion of a statement for a DO loop. Man

Go testsuite patch committed: Recognize MIPS ABIs

2011-03-31 Thread Ian Lance Taylor
This patch to the Go testsuite driver recognizes the MIPS ABIs. Ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2011-03-31 Ian Lance Taylor * go.test/go-test.exp (go-set-goarch): Recognize MIPS ABIs. Index: go.test/go-test.exp

libgo patch committed: Recognize MIPS ABIs

2011-03-31 Thread Ian Lance Taylor
This libgo patch recognizes the various MIPS ABIs and sets an appropriate GOARCH value. Bootstrapped on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r b599aee73f1d libgo/configure.ac --- a/libgo/configure.ac Thu Mar 31 16:53:57 2011 -0700 +++ b/libgo/configure.ac Thu Mar 31 17:11:5

RE: Split up toplevel library-disabling cases

2011-03-31 Thread Weddington, Eric
> -Original Message- > From: Joseph Myers [mailto:jos...@codesourcery.com] > Sent: Thursday, March 31, 2011 5:41 PM > To: gcc-patches@gcc.gnu.org > Cc: bonz...@gnu.org; d...@redhat.com; nero...@gcc.gnu.org; > aol...@redhat.com; ralf.wildenh...@gmx.de; cherty...@gmail.com; > ae...@post.ru;

Re: [build] Support libgo on IRIX 6.5 (PR go/47515)

2011-03-31 Thread Ian Lance Taylor
On Thu, Feb 3, 2011 at 7:06 AM, Rainer Orth wrote: > 2011-01-30  Rainer Orth   > >        PR go/47515 >        * configure.ac (GOOS): Handle *-*-irix6*. >        * configure: Regenerate. >        * Makefile.am (go_os_sys_file): Use go/os/sys_uname.go on IRIX. >        * Makefile.in: Regenerate.

Split up toplevel library-disabling cases

2011-03-31 Thread Joseph S. Myers
This patch, relative to a tree with (pending review) applied, continues toplevel configure cleanup by splitting the disabling of some libraries into separate case statements for those libraries. Separating the logic like this brings things

Re: Fix remaining libgo testsuite failures on Solaris 2

2011-03-31 Thread Ian Lance Taylor
I believe that all of these issues have been handled. Thanks. Ian Rainer Orth writes: > Rainer Orth writes: > >> The recent merge of libgo from upstream broke bootstrap with Go on >> Solaris: unless _XOPEN_SOURCE is defined as 400 or above, struct msghdr >> has no msg_control, msg_controllen,

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

2011-03-31 Thread Richard Henderson
On 03/31/2011 03:07 PM, Bernd Schmidt wrote: > No, it's used - but it looks like I forgot to quilt refresh and the > final.c changes weren't included. New patch below. After this patch, the > whole function is processed before final, and rather than emitting cfi > directives immediately, we create

Re: Fix remaining libgo testsuite failures on Solaris 2

2011-03-31 Thread Ian Lance Taylor
I believe that all of these issues have now been fixed. Thanks. Ian Rainer Orth writes: > The recent merge of libgo from upstream broke bootstrap with Go on > Solaris: unless _XOPEN_SOURCE is defined as 400 or above, struct msghdr > has no msg_control, msg_controllen, and msg_flags members, bu

libgo patch committed: Set name of test when using DejaGNU

2011-03-31 Thread Ian Lance Taylor
This libgo patch sets the name of the test correctly when using DejaGNU to run the libgo testsuite. Bootstrapped and ran libgo testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 66deaac7efb2 libgo/Makefile.am --- a/libgo/Makefile.am Thu Mar 31 15:34:36 2011 -0700 +++ b/li

Convert some option flags to bit-fields

2011-03-31 Thread Joseph S. Myers
As previously noted , we're running out of option flag bits when you allow for languages not present on trunk. This patch alleviates that shortage by converting most of the flag bits to separate bit-fields, so they no longer need to be alloc

libgo patch committed: Add timeout for tests

2011-03-31 Thread Ian Lance Taylor
This patch to libgo adds a timeout for the libgo tests. The default is 60 seconds. It can be changed by an argument to gotest, which would normally be used as, e.g., make GOTESTFLAGS="--timeout=120" check-target-libgo Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to

libgo patch committed: Remove unnecessary EINTR tests

2011-03-31 Thread Ian Lance Taylor
This libgo patch removes some unnecessary EINTR tests I added a couple of months ago. The libgo library always uses SA_RESTART when setting up a signal handler, so EINTR should never happen for functions like read and write. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committe

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Joseph S. Myers
On Thu, 31 Mar 2011, Mike Stump wrote: > On Mar 31, 2011, at 9:05 AM, Ian Lance Taylor wrote: > > Rainer Orth writes: > >> I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and > >> 9/SPARC (not yet filed or investigated), which hangs the whole build (PR > >> go/48242). If I get

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

2011-03-31 Thread Bernd Schmidt
On 03/31/2011 11:28 PM, Richard Henderson wrote: >> Rather than use a CFG, I've tried to do something similar to >> compute_barrier_args_size, using JUMP_LABELs etc. > > A reasonable solution for now, I suppose. Ok, sounds like you haven't discovered a fatal flaw; I'll keep hacking on it. >> Sum

[Patch, Fortran] PR18918 - UCOBOUND coarray draft patch

2011-03-31 Thread Tobias Burnus
Hi all, attached you find a draft patch for implementing the run-time support for THIS_IMAGE(coarray), LCOBOUND and UCOBOUND where the cobounds (or the "dim=" argument) are not known at the compile time. There are two cases where the bounds are not known: a) For allocatable coarrays: intege

[patch][cprop.c] Random cleanups to un-gcse cprop.c

2011-03-31 Thread Steven Bosscher
Hi, This is a boring one. An almost-perfect %s/gcse/cprop/g except for flag_gcse, and a few other random cleanups. Hardly noteworthy. This goes in after the cprop_cleanup_2.diff patch as obvious unless someone objects. Ciao! Steven * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Paolo Carlini
Hi, > Thanks. Is that an OK that I can commit this to mainline and 4_6-branch? Sure, if you are ready to commit please go ahead, thanks. Note that the C++ front end issue is also important, the next time you encounter something similar please point it out explicitly! Thanks, Paolo

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

2011-03-31 Thread Richard Henderson
On 03/31/2011 12:59 PM, Bernd Schmidt wrote: >> So long as late late compilation passes continue to not move frame-related >> insns across basic block boundaries, we should be fine. > > I'm nervous about this as the reorg pass can do arbitrary > transformations. On Blackfin for example, we can reo

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Jason Merrill
On 03/31/2011 05:25 PM, Paolo Carlini wrote: Jason let me know if you want a Bugzilla Please. Jason

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Jeffrey Yasskin
On Thu, Mar 31, 2011 at 12:49 PM, Paolo Carlini wrote: > On 03/31/2011 09:41 PM, Paolo Carlini wrote: >>> >>> I think this is a candidate to backport to libstdc++-4.6.1. >>> >>> exception_ptr.h needs the forward declaration because it's >>> included from  before  defines std::type_info. >> >> befo

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Paolo Carlini
Hi, > > Compiler bug. Agreed. Thus, I'm going to apply the library patch, release branch too, seems safe, even if I don't think the compiler bug is likely to be fixed in the branch too... Jason let me know if you want a Bugzilla or the issue is basically known. Paolo

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Jason Merrill
On 03/31/2011 03:41 PM, Paolo Carlini wrote: I think we should understand why this is accepted, note no headers: namespace std { struct test { const type_info* fun(); }; } Jason? Compiler bug. Jason

[debug] Don't add DW_AT_low_pc if the CU has no associated code

2011-03-31 Thread Mark Wielaard
Hi, The dwarf spec (v4 - 2.17) explicitly says that CUs (and other DIEs) which have no associated machine code should not have a DW_AT_low_pc, DW_AT_high_pc or DW_AT_ranges set. This patch also makes gcc not output DW_AT_entry_pc for a CU. Which also wasn't according to spec and gcc has been outp

Re: [PATCH, PR43920, 6/9] Cross-jumping - Use reg-notes.

2011-03-31 Thread Tom de Vries
On 03/31/2011 08:52 PM, Jeff Law wrote: > On 03/31/11 12:42, Tom de Vries wrote: >> Uses regnotes to analyze whether we can replace insn a by insn b, even >> if we cannot replace insn b by insn a. Uses this info in crossjumping. > Shouldn't this be using single_set rather than digging through PAT

Re: [patch][cprop.c] Use DF_INSN_INFO_DEFS cache also for mark_oprs_set

2011-03-31 Thread Steven Bosscher
Hi, This is more of the same, really: oprs_not_set_p() and mark_oprs_set() can use the DF_INSN_INFO cache. Bootstrapped and tested on x86_64-unknown-linux-gnu. OK? Ciao! Steven * cprop.c (oprs_not_set_p): Remove. (mark_set, mark_clobber): Remove. (mark_oprs_set): Rewrite

Re: [PR19351, C++] Fix heap overflow in operator new[]

2011-03-31 Thread Jason Merrill
Sorry it's taken so long to review this. On 02/21/2011 04:05 PM, Florian Weimer wrote: build_operator_new_call (tree fnname, VEC(tree,gc) **args, -tree *size, tree *cookie_size, +tree *size, tree size_with_cookie, tree *cookie_size, We don't nee

Re: [PATCH, PR43920] Improve code-size optimizations

2011-03-31 Thread Eric Botcazou
> Patches will be posted separately. Always post a ChangeLog entry with a patch. -- Eric Botcazou

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Mike Stump
On Mar 31, 2011, at 9:05 AM, Ian Lance Taylor wrote: > Rainer Orth writes: >> I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and >> 9/SPARC (not yet filed or investigated), which hangs the whole build (PR >> go/48242). If I get around to it, I'll probably replace gotest by a >

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

2011-03-31 Thread Michael Matz
Hi, On Thu, 31 Mar 2011, Jeff Law wrote: > Without trip count estimates the speculative read can introduce a > performance regression. Like any other transformation. So what are you trying to say? That therefore introducing a mode in GCC disallowing any speculative reads (even if they happe

Re: [libgo] Account for 32-bit fds_bits on Solaris 2

2011-03-31 Thread Ian Lance Taylor
Rainer Orth writes: > While debugging why several libgo tests on Solaris 2/SPARC were hanging > in select (cf. PR go/48242, go/48243), I found that fd_set is > > typedef struct fd_set { > longfds_bits[__howmany(FD_SETSIZE, FD_NFDBITS)]; > } fd_set; > > The current implementation of th

Re: [C++0x] Range-based for statements and ADL

2011-03-31 Thread Jonathan Wakely
On 31 March 2011 21:22, Rodrigo Rivas wrote: > On Thu, Mar 31, 2011 at 7:22 PM, Jason Merrill wrote: >> On 03/28/2011 08:28 PM, Rodrigo Rivas wrote: >>> >>> A few comments: >>> 1. I'm not sure about what should happen if the begin/end found in class >>> scope are not ordinary functions. >> >> What

[patch, fortran] Fix PR 48352 - regression with ICE with front end optimization

2011-03-31 Thread Thomas Koenig
Hello world, the attached patch fixes a 4.7 regression, PR 48352, where a function elimination in the expressions for a DO loop caused an ICE. The ICE was caused by interaction of the expression walker with insertion of a statement for a DO loop. Many thanks to Joost for finding the bug and

Re: [C++0x] Range-based for statements and ADL

2011-03-31 Thread Rodrigo Rivas
On Thu, Mar 31, 2011 at 7:22 PM, Jason Merrill wrote: > On 03/28/2011 08:28 PM, Rodrigo Rivas wrote: >> >> A few comments: >> 1. I'm not sure about what should happen if the begin/end found in class >> scope are not ordinary functions. > > Whatever range.begin() would mean if written explicitly. >

Re: [3/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Henderson
On 03/31/2011 01:09 PM, Richard Sandiford wrote: >> I think the assert should be retained (for now) as >> >> gcc_assert (nops == 4 || nops == 6); >> >> at least until we add such verification to some genfoo. > > After the patch we have: > > gcc_assert (nops == (unsigned int) insn_data[(int) i

Re: [3/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Sandiford
Richard Henderson writes: > On 03/31/2011 09:23 AM, Richard Sandiford wrote: >> +++ gcc/expr.c 2011-03-31 16:49:06.0 +0100 >> @@ -1293,11 +1293,7 @@ emit_block_move_via_movmem (rtx x, rtx y >> nice if there were some way to inform the backend, so >> that it doesn'

Re: [libgo] Account for 32-bit fds_bits on Solaris 2

2011-03-31 Thread Ian Lance Taylor
Richard Henderson writes: > On 03/31/2011 09:03 AM, Ian Lance Taylor wrote: >> What an annoying problem. Sorry about that. But why don't we just >> change to byte? > > That would work for little-endian, but not big-endian, at least not > without even worse ugliness in two different files. Yeah

Re: [libgo] Account for 32-bit fds_bits on Solaris 2

2011-03-31 Thread Richard Henderson
On 03/31/2011 09:03 AM, Ian Lance Taylor wrote: > What an annoying problem. Sorry about that. But why don't we just > change to byte? That would work for little-endian, but not big-endian, at least not without even worse ugliness in two different files. r~

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

2011-03-31 Thread Bernd Schmidt
On 03/26/2011 04:26 AM, Richard Henderson wrote: > I think the ideal thing would be a pass while the cfg is still extant that > captures the unwind info into notes; these can be recorded at basic block > boundaries, so that they persist until the end of compilation. > > So long as late late compil

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Paolo Carlini
On 03/31/2011 09:41 PM, Paolo Carlini wrote: I think this is a candidate to backport to libstdc++-4.6.1. exception_ptr.h needs the forward declaration because it's included from before defines std::type_info. before going ahead with the patch - I'm not at all sure it's enough, for itself for

Re: [3/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Henderson
On 03/31/2011 09:23 AM, Richard Sandiford wrote: > +++ gcc/expr.c2011-03-31 16:49:06.0 +0100 > @@ -1293,11 +1293,7 @@ emit_block_move_via_movmem (rtx x, rtx y >nice if there were some way to inform the backend, so >that it doesn't fail the expansion because i

Re: [patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Paolo Carlini
Hi, I think this is a candidate to backport to libstdc++-4.6.1. exception_ptr.h needs the forward declaration because it's included from before defines std::type_info. before going ahead with the patch - I'm not at all sure it's enough, for itself for example - I think we should understand w

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

2011-03-31 Thread Chung-Lin Tang
On 2011/4/1 01:33 AM, Richard Earnshaw wrote: > > On Thu, 2011-03-31 at 22:18 +0800, Chung-Lin Tang wrote: >> On 2011/3/31 06:14 PM, Richard Earnshaw wrote: >>> >>> On Thu, 2011-03-31 at 11:33 +0800, Chung-Lin Tang wrote: On 2011/3/30 05:28 PM, Richard Earnshaw wrote: > > On Wed, 2011

Re: patch to solve PR48381

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 13:13, Vladimir Makarov wrote: > The following patch solves the PR48381. The reason for the problem is > described on > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48381 > > Ok to commit? It was successfully bootstrapped on x86-64. >

patch to solve PR48381

2011-03-31 Thread Vladimir Makarov
The following patch solves the PR48381. The reason for the problem is described on http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48381 Ok to commit? It was successfully bootstrapped on x86-64. 2011-03-31 Vladimir Makarov PR rtl-optimization/48381 * ira-color.c (assign_hard_r

Re: [PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 13:02, Tom de Vries wrote: > Hi Jeff, > > On 03/31/2011 08:36 PM, Jeff Law wrote: > >> On 03/31/11 12:35, Tom de Vries wrote: >>> Currently uses and clobbers are counted as insns in crossjumping, which >>> can cause undesirable crossjumpi

Re: [PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Tom de Vries
Hi Jeff, On 03/31/2011 08:36 PM, Jeff Law wrote: > On 03/31/11 12:35, Tom de Vries wrote: >> Currently uses and clobbers are counted as insns in crossjumping, which >> can cause undesirable crossjumping. The patch fixes this. > OK. Please install. > > jeff I don't have an account at sourcewar

[patch] Fix two C++ errors in libstdc++. (issue4341041)

2011-03-31 Thread Jeffrey Yasskin
I think this is a candidate to backport to libstdc++-4.6.1. exception_ptr.h needs the forward declaration because it's included from before defines std::type_info. Tested: `make check` in x86_64-unknown-linux-gnu/libstdc++-v3. The abi_check test fails, but also did before this change. lib

Re: [PATCH, PR43920, 9/9] Cross-jumping - Allow both directions.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:45, Tom de Vries wrote: > Allow crossjumping in both directions. Crossjump was assumed to be > symmetric, and therefore only applied on edges e1,e2 and not on e2,e1. > Now given both the fallthru fix and the regnotes fix, crossjumping is

Re: [PATCH, PR43920, 8/9] Cross-jumping - Extend search scope - test case.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:44, Tom de Vries wrote: > Test-case for crossjump-fallthru-ml.patch. OK. jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNlM5qAAoJEBRtlt

Re: [PATCH, PR43920, 7/9] Cross-jumping - Extend search scope.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:43, Tom de Vries wrote: > Allows crossjump over fallthru paths. OK. jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNlM5KAAoJEBRtltQi2kC

Re: [PATCH, PR43920, 6/9] Cross-jumping - Use reg-notes.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:42, Tom de Vries wrote: > Uses regnotes to analyze whether we can replace insn a by insn b, even > if we cannot replace insn b by insn a. Uses this info in crossjumping. Shouldn't this be using single_set rather than digging through PATT

[PATCH, PR43920, 9/9] Cross-jumping - Allow both directions.

2011-03-31 Thread Tom de Vries
Allow crossjumping in both directions. Crossjump was assumed to be symmetric, and therefore only applied on edges e1,e2 and not on e2,e1. Now given both the fallthru fix and the regnotes fix, crossjumping is not symmetrical anymore, and we allow both directions (but not by testing twice). Thanks,

Re: [PATCH, PR43920, 5/9] Cross-jumping - Add missing use of return register.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:40, Tom de Vries wrote: > Inserts use of return register in epilogue threading, to keep > representation consistent, and prevent mismatch in crossjump matching. OK. Jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Co

[PATCH, PR43920, 8/9] Cross-jumping - Extend search scope - test case.

2011-03-31 Thread Tom de Vries
Test-case for crossjump-fallthru-ml.patch. Thanks, - Tom Index: gcc/testsuite/gcc.target/arm/pr43920-2.c === --- gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) +++ gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) @@ -0,0 +

[PATCH, PR43920, 7/9] Cross-jumping - Extend search scope.

2011-03-31 Thread Tom de Vries
Allows crossjump over fallthru paths. Thanks, - Tom diff -u gcc/cfgcleanup.c gcc/cfgcleanup.c --- gcc/cfgcleanup.c (working copy) +++ gcc/cfgcleanup.c (working copy) @@ -1139,6 +1139,43 @@ } } + /* Walks from I1 in BB1 backward till the next non-debug insn, and returns the +resulting i

[PATCH, PR43920, 6/9] Cross-jumping - Use reg-notes.

2011-03-31 Thread Tom de Vries
Uses regnotes to analyze whether we can replace insn a by insn b, even if we cannot replace insn b by insn a. Uses this info in crossjumping. Thanks, - Tom diff -u gcc/cfgcleanup.c gcc/cfgcleanup.c --- gcc/cfgcleanup.c (working copy) +++ gcc/cfgcleanup.c (working copy) @@ -72,7 +72,7 @@ static bo

Re: [PATCH, PR43920, 3/9] Cleanup.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:29, Tom de Vries wrote: > Cleans up some code. OK. Note that it would have helped if you mentioned that "bb" was a loop invariant and thus "ev" and "ev2" were loop invariants that could be replaced by "bb". Please install.. Thanks, j

[PATCH, PR43920, 5/9] Cross-jumping - Add missing use of return register.

2011-03-31 Thread Tom de Vries
Inserts use of return register in epilogue threading, to keep representation consistent, and prevent mismatch in crossjump matching. Thanks, - Tom Index: gcc/function.c === --- gcc/function.c (revision 170556) +++ gcc/function.c (wor

[PATCH], PR 48262, fix failing vector support on powerpc

2011-03-31 Thread Michael Meissner
This patch fixes the various bugs that showed up with subversion id 171341 on the powerpc relating to vector support. I did a bootstrap and make check. The following tests now pass on a power7 linux/gnu system with these patches, and there were no regressions. Is it ok to install the patch? gcc

Re: [PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/31/11 12:35, Tom de Vries wrote: > Currently uses and clobbers are counted as insns in crossjumping, which > can cause undesirable crossjumping. The patch fixes this. OK. Please install. jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1

Improve reload inheritance code generation and predictability

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Original patch discussion here: http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01917.html This version results in about a .15% compile-time slowdown. In return we get better code generation (size & speed) through improved inheritance and more predic

[PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Tom de Vries
Currently uses and clobbers are counted as insns in crossjumping, which can cause undesirable crossjumping. The patch fixes this. Thanks, - Tom Index: gcc/cfgcleanup.c === --- gcc/cfgcleanup.c (revision 170556) +++ gcc/cfgcleanup.c (

[PATCH, PR43920, 4-9/9] Cross-jumping.

2011-03-31 Thread Tom de Vries
The impact of patches 4-9 of the patch set on the example from the bug report for ARM Thumb-2 -Os is a further size reduction of 7%, from 58 to 54 bytes. This size reduction is illustrated in this diff of the assembly (left, without patches, size 58. right, with patches, size 54): ... push{r3,

[PATCH, PR43920, 3/9] Cleanup.

2011-03-31 Thread Tom de Vries
Cleans up some code. Thanks, - Tom diff -u gcc/cfgcleanup.c gcc/cfgcleanup.c --- gcc/cfgcleanup.c (working copy) +++ gcc/cfgcleanup.c (working copy) @@ -1961,7 +1961,6 @@ edge e, e2, fallthru; bool changed; unsigned max, ix, ix2; - basic_block ev, ev2; /* Nothing to do if there is n

[PATCH, PR43920, 2/9] ARM specific part - test case

2011-03-31 Thread Tom de Vries
A testcase for the code in arm-size-branch_cost.patch. Thanks, - Tom Index: gcc/testsuite/gcc.target/arm/pr43920-1.c === --- gcc/testsuite/gcc.target/arm/pr43920-1.c (revision 0) +++ gcc/testsuite/gcc.target/arm/pr43920-1.c (revision

[PATCH, PR43920, 1/9] ARM specific part.

2011-03-31 Thread Tom de Vries
arm-size-branch_cost.patch reduces BRANCH_COST for thumb2 -Os to 1. The lower branch cost makes expand choose branches to expand code like '(a == b || c == d)'. The impact of arm-size-branch_cost.patch on the example from the bug report for ARM Thumb-2 -Os is a size reduction of 15%, from 68 to 58

[PATCH, PR43920] Improve code-size optimizations

2011-03-31 Thread Tom de Vries
This patch set fixes PR 43920 - 'Choosing conditional execution over conditional branches for code size in some cases'. The patch set was tested on ARM and x86_64. The codesize changes were benchmarked for ARM Thumb-2. For SPEC2000 and EEMBC CoreMark, a reduction of 1.1% in the geomean of the benc

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

2011-03-31 Thread Richard Earnshaw
On Thu, 2011-03-31 at 22:18 +0800, Chung-Lin Tang wrote: > On 2011/3/31 06:14 PM, Richard Earnshaw wrote: > > > > On Thu, 2011-03-31 at 11:33 +0800, Chung-Lin Tang wrote: > >> On 2011/3/30 05:28 PM, Richard Earnshaw wrote: > >>> > >>> On Wed, 2011-03-30 at 15:35 +0800, Chung-Lin Tang wrote: > >>>

Re: [1/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Bernd Schmidt
On 03/31/2011 06:22 PM, Richard Sandiford wrote: > Bootstrapped & regression-tested on x86_64-linux-gnu. OK to install? Ok all three. Bernd

Re: [C++0x] Range-based for statements and ADL

2011-03-31 Thread Jason Merrill
On 03/28/2011 08:28 PM, Rodrigo Rivas wrote: A few comments: 1. I'm not sure about what should happen if the begin/end found in class scope are not ordinary functions. Whatever range.begin() would mean if written explicitly. My guess is that if it is a function (static or non-static) it is ca

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Joseph S. Myers
On Thu, 31 Mar 2011, Rainer Orth wrote: > Ian Lance Taylor writes: > > > Rainer Orth writes: > > > >> I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and > >> 9/SPARC (not yet filed or investigated), which hangs the whole build (PR > >> go/48242). If I get around to it, I'll

Re: [Patch] Bfin: Ensure rotrsi and rotlsi don't accept non-const INTVALS

2011-03-31 Thread Richard Henderson
On 03/31/2011 09:01 AM, Bernd Schmidt wrote: > I have a dim memory of the problem being that something didn't check the > predicate. Sure enough, with the patch below applied to a 4.3 tree, I get > > /local/src/egcs/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/execute/20020226-1.c:43: > internal com

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Joseph S. Myers
On Thu, 31 Mar 2011, Ralf Wildenhues wrote: > Hello, > > * Rainer Orth wrote on Thu, Mar 31, 2011 at 06:12:31PM CEST: > > Ian Lance Taylor writes: > > > Argh, no, I am trying to fight against that as long as possible. We > > > should be moving away from DejaGNU, not toward it. > > > > Do you h

Go patch committed: Fix typo in test case name

2011-03-31 Thread Ian Lance Taylor
This patch to the libgo Makefile fixes a typo in a test case name. Ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 0158b3ae4e51 libgo/Makefile.am --- a/libgo/Makefile.am Thu Mar 31 09:45:16 2011 -0700 +++ b/libgo/Makefile.am Thu Mar 31 09:47:33 2011 -0700 @@ -20

go patch committed: Taking slice of array moves it to heap

2011-03-31 Thread Ian Lance Taylor
This patch to the Go frontend fixes a bug: if you take a slice of an array, you are in effect taking the address of the array, which in Go requires moving the array to the heap. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r b9df7566fd57 go/exp

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Ian Lance Taylor
Rainer Orth writes: > Ian Lance Taylor writes: > >> Rainer Orth writes: >> >>> I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and >>> 9/SPARC (not yet filed or investigated), which hangs the whole build (PR >>> go/48242). If I get around to it, I'll probably replace gotest

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Ralf Wildenhues
Hello, * Rainer Orth wrote on Thu, Mar 31, 2011 at 06:12:31PM CEST: > Ian Lance Taylor writes: > > Argh, no, I am trying to fight against that as long as possible. We > > should be moving away from DejaGNU, not toward it. > > Do you have a decent alternative? I've no idea what happened to QMTe

[3/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Sandiford
This patch makes use of the new n_generator_args field. Bboostrapped & regressions-tested on x86_64-linux-gnu. Also tested by building cc1 for arm-linux-gnueabi, mips-elf, spu-elf. Richard gcc/ * expr.c (emit_block_move_via_movmem): Use n_generator_args instead of n_operands.

[2/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Sandiford
This second patch makes genoutput.c use the new get_pattern_stats function, and adds the extra field to insn_data. Bootstrapped & regression-tested on x86_64-linux-gnu. OK to install? Richard gcc/ * recog.h (insn_data_d): Add n_generator_args. * genoutput.c (data): Likewise.

[1/3] Record the number of generator arguments in insn_data

2011-03-31 Thread Richard Sandiford
Following the difficulties with the setmem pattern, this patch series makes the number of generator arguments (as opposed to rtx insn operands) available in insn_data. The first patch adds a new "gather statistics" function to gensupport, and uses it in genemit.c Bootstrapped & regression-tested

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Rainer Orth
Ian Lance Taylor writes: > Rainer Orth writes: > >> I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and >> 9/SPARC (not yet filed or investigated), which hangs the whole build (PR >> go/48242). If I get around to it, I'll probably replace gotest by a >> dg-based testsuite. >

libgo patch committed: Generate DejaGNU style .sum and .log files

2011-03-31 Thread Ian Lance Taylor
This patch to libgo makes the testsuite generate a libgo.sum and libgo.log file which are much like the ones that DejaGNU would generate. My hope is that this will cause the various scripts we have that parse DejaGNU files do something useful with the libgo test results. Bootstrapped and ran Go tes

Re: [libgo] Account for 32-bit fds_bits on Solaris 2

2011-03-31 Thread Rainer Orth
Ian Lance Taylor writes: > What an annoying problem. Sorry about that. But why don't we just > change to byte? If this causes the right bits to be set for big and little-endian hosts, certainly fine with me. I haven't tried yet, but the less different code paths, the better. Rainer

Re: [libgo] Improve Solaris 2/SPARC support

2011-03-31 Thread Ian Lance Taylor
Rainer Orth writes: > I'm especially suffering from hangs on Solaris 8/x86 and Solaris 8 and > 9/SPARC (not yet filed or investigated), which hangs the whole build (PR > go/48242). If I get around to it, I'll probably replace gotest by a > dg-based testsuite. Argh, no, I am trying to fight agai

Re: [Patch] Bfin: Ensure rotrsi and rotlsi don't accept non-const INTVALS

2011-03-31 Thread Bernd Schmidt
On 03/31/2011 05:42 PM, Richard Henderson wrote: >> (rotate:SI (match_operand:SI 1 "register_operand" "") >> - (match_operand:SI 2 "immediate_operand" "")))] >> + (match_operand:SI 2 "const_int_operand" "")))] >>"" >> { >> - if (INTVAL (operands[2]) != 16) >>

Re: [libgo] Account for 32-bit fds_bits on Solaris 2

2011-03-31 Thread Ian Lance Taylor
Rainer Orth writes: > While debugging why several libgo tests on Solaris 2/SPARC were hanging > in select (cf. PR go/48242, go/48243), I found that fd_set is > > typedef struct fd_set { > longfds_bits[__howmany(FD_SETSIZE, FD_NFDBITS)]; > } fd_set; > > The current implementation of th

Re: Random cleanups [2/4]: canonicalize ctor values

2011-03-31 Thread Richard Guenther
On Thu, Mar 31, 2011 at 5:57 PM, Michael Matz wrote: > On Thu, 31 Mar 2011, Richard Guenther wrote: > >> > canonicalize_constructor_val may be doing useful things on ADDR_EXPR >> > too, but you don't call it in that case because you only added your >> > code in the default case.  You only reach it

Re: [PATCH, ARM] PR47855 Compute attr "length" for some thumb2 insns

2011-03-31 Thread Ramana Radhakrishnan
Hi Carrot, How about adding an alternative only enabled for T2 that uses the `l' constraint and inventing new constraints for some of the constant values that are valid for 16 bit instructions since the `I' and `L' constraints have different meanings depending on whether TARGET_32BIT

Re: Random cleanups [2/4]: canonicalize ctor values

2011-03-31 Thread Michael Matz
On Thu, 31 Mar 2011, Richard Guenther wrote: > > canonicalize_constructor_val may be doing useful things on ADDR_EXPR > > too, but you don't call it in that case because you only added your > > code in the default case.  You only reach it when the ADDR_EXPR is > > wrapped in a cast. > > > > Any

Re: Move reg_equiv* arrays into a single VEC structure

2011-03-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/30/11 10:51, Richard Sandiford wrote: > Nice cleanup thanks. Just noticed a couple of things: > > Jeff Law writes: >> *** struct reload >> *** 100,106 >> int inc; >> /* A reg for which reload_in is the equivalent. >>

Re: [libgo] Replace wait4 by waitpid (PR go/47515)

2011-03-31 Thread Rainer Orth
Ian Lance Taylor writes: > Thanks for the patch, but I wasn't entirely happy with the approach > because it removes the os.Waitmsg.Rusage field. That field is > inherently system dependent but I would rather not get rid of it. I > wrote this patch instead, which I hope will also solve the probl

  1   2   >