Re: Go Garbage Collection Roots

2011-09-29 Thread Ian Lance Taylor
Matt Davis writes: > As some of you might know, I have been researching and working on a > region-based > memory management plugin for GCC. My target is specifically the Go language. > With that said, I have been making a fair amount of progress. More recently, > I > have been benchmarking my

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Amker.Cheng
>> >> I believe, the optimization you may be referring to is value range >> propagation which does predication of values based on predicates of >> conditions. GCC definitely applies VRP at the tree stage, I am not >> sure if there is an RTL pass to do the same. > There are also RTL optimizers which

Go Garbage Collection Roots

2011-09-29 Thread Matt Davis
As some of you might know, I have been researching and working on a region-based memory management plugin for GCC. My target is specifically the Go language. With that said, I have been making a fair amount of progress. More recently, I have been benchmarking my work, and it came to my attention

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Amker.Cheng
> > Nobody mentioned this so I might be way off but cc doesn't get (minus > (reg r684) (const_int 0)). It gets the `condition codes` modification as > a consequence of the subtraction. > Hi Paulo, According to section "comparison operations" in internal: "The comparison operators may be used to co

gcc-4.5-20110929 is now available

2011-09-29 Thread gccadmin
Snapshot gcc-4.5-20110929 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20110929/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.5 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches

Bootstrap failure on sparc-sun-solaris2.10

2011-09-29 Thread Art Haas
I've had no success lately getting GCC to bootstrap successfully. My last successful bootstrap was on September 6; my builds on September 7 through today all end with a comparison failure. Here's the end of my build log: gmake[2]: Entering directory `/export/home/arth/src/gcc-0929' gmake[3]: Ente

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Paulo J. Matos
"Amker.Cheng" writes: > > Thanks for replying. > Sorry if I misunderstood anything below, and please correct me. > > insn 882 : cc <- compare (r684, 0) > jump_insn 883 : if (cc != 0) goto insn 46 > insn 49: r291 <- r684 > .. > insn 46 > > cc contains the result of subtract

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/11 09:48, Rahul Kharche wrote: >> On 09/29/11 17:36, Jeff Law wrote: >>> On 09/29/11 09:26, Bernd Schmidt wrote: ISTR cse.c has some support for this. >>> cprop.c -- see references to implicit_sets. >> >> cse too: record_jump_equiv. > >

RE: missing conditional propagation in cprop.c pass

2011-09-29 Thread Rahul Kharche
> On 09/29/11 17:36, Jeff Law wrote: > > On 09/29/11 09:26, Bernd Schmidt wrote: > >> ISTR cse.c has some support for this. > > cprop.c -- see references to implicit_sets. > > cse too: record_jump_equiv. Interesting. Are the two approaches subtly different or do they apply precisely the same pred

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Bernd Schmidt
On 09/29/11 17:36, Jeff Law wrote: > On 09/29/11 09:26, Bernd Schmidt wrote: >> ISTR cse.c has some support for this. > cprop.c -- see references to implicit_sets. cse too: record_jump_equiv. Bernd

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/11 08:43, Rahul Kharche wrote: > >> insn 882 : cc <- compare (r684, 0) jump_insn 883 : if >> (cc != 0) goto insn 46 insn 49: r291 <- r684 .. >> insn 46 >> >> cc contains the result of subtracting 0 from r684; contro

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/11 09:26, Bernd Schmidt wrote: > On 09/29/11 16:43, Rahul Kharche wrote: >> >>> insn 882 : cc <- compare (r684, 0) jump_insn 883 : if >>> (cc != 0) goto insn 46 insn 49: r291 <- r684 >>> .. insn 46 >>> >>> cc contai

Re: RFC: Collecting together binary file attributes into a single file.

2011-09-29 Thread Joseph S. Myers
On Thu, 29 Sep 2011, Nick Clifton wrote: > Hi Richard, > > > I don't think it's a good idea to have the attributes of > > every CPU we support in a single file. That's going to > > get unmaintainable very quickly. > > Really - why ? > > These attributes are mostly static. Some new ones might

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Bernd Schmidt
On 09/29/11 16:43, Rahul Kharche wrote: > >> insn 882 : cc <- compare (r684, 0) >> jump_insn 883 : if (cc != 0) goto insn 46 >> insn 49: r291 <- r684 >> .. >> insn 46 >> >> cc contains the result of subtracting 0 from r684; control flow goes to >> insn_49 only if (cc == 0)

RE: missing conditional propagation in cprop.c pass

2011-09-29 Thread Rahul Kharche
> insn 882 : cc <- compare (r684, 0) > jump_insn 883 : if (cc != 0) goto insn 46 > insn 49: r291 <- r684 > .. > insn 46 > > cc contains the result of subtracting 0 from r684; control flow goes to > insn_49 only if (cc == 0), which implies (r684 == 0). > Then at insn_49 we

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Amker.Cheng
> Unless there's something arch specific related to arm, insn 882 is a > compare, which won't change r684. Why do you think 0 should > propagated to r291 if r684 is not zero? > Thanks for replying. Sorry if I misunderstood anything below, and please correct me. insn 882 : cc <- compare (

Re: RFC: Collecting together binary file attributes into a single file.

2011-09-29 Thread Nick Clifton
Hi Richard, I don't think it's a good idea to have the attributes of every CPU we support in a single file. That's going to get unmaintainable very quickly. Really - why ? These attributes are mostly static. Some new ones might be added from time to time, but baring the introduction of new

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Paulo J. Matos
"Amker.Cheng" writes: > (insn 882 881 883 96 (set (reg:CC 24 cc) > (compare:CC (reg:SI 684 [ default_num_contexts ]) > (const_int 0 [0]))) core_main.c:265 211 {*arm_cmpsi_insn} > (nil)) > > > The insn49 should be propagated with conditional const from insn882 > and jump_i

[ARM] Outstanding bugs in GCC 4.6

2011-09-29 Thread Sebastian Huber
Hello, the GCC 4.6.2 seems to be ready soon. It would be very nice if some ARM bugs can be fixed for this release (in the GCC 4.6-20110923 snapshot they are not fixed). 1. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49641 Here we have a test case and a fix. 2. http://gcc.gnu.org/bugzilla/s

Re: missing conditional propagation in cprop.c pass

2011-09-29 Thread Amker.Cheng
On Tue, Sep 27, 2011 at 4:19 PM, Amker.Cheng wrote: > Hi, > I ran into a case and found conditional (const) propagation is > mishandled in cprop pass. > With following insn sequence after cprop1 pass: > > (note 878 877 880 96 [bb 96] NOTE_INSN_B

Re: RFC: Collecting together binary file attributes into a single file.

2011-09-29 Thread Richard Earnshaw (home)
On 29 Sep 2011, at 10:34, "Nick Clifton" wrote: > Hi Guys, > > All I wanted to do was to make GCC's ARM assembler output slightly > easier to read... > > I would like to propose a patch to create a new header file in the > include/ directory. This file would contain enums describing the >

RFC: Collecting together binary file attributes into a single file.

2011-09-29 Thread Nick Clifton
Hi Guys, All I wanted to do was to make GCC's ARM assembler output slightly easier to read... I would like to propose a patch to create a new header file in the include/ directory. This file would contain enums describing the attributes that be can found in SHT_GNU_ATTRIBUTES sections.