define_split

2010-10-28 Thread roy rosen
Hi all, I am trying to use define_split, but it seems to me that I don't understand how it is used. It says in the gccint.pdf (which I use as my tutorial (is there anything better or more up to date?)) that the combiner only uses the define_split if it doesn't find any define_insn to match. This i

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Paolo Bonzini
On 10/22/2010 01:16 PM, Georg Lay wrote: I already tried to fix this by introducing a different return-pattern, i.e. a PARALLEL of return and bunch of clobbers of unused regs. That fixes this problem but has many other disadvantages compared to a simple return. What were this disadvantages? Pa

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Georg Lay
Paolo Bonzini schrieb: > On 10/27/2010 04:30 PM, Georg Lay wrote: >> The first time it occurs in "exit block uses" is in pro/epilogue: >> >> peep2.c.193r.split2:;; exit block uses 2 [d2] 26 [SP] 27 [a11] >> peep2.c.195r.pro_and_epilogue:;; exit block uses2 [d2] 15 >> [d15] 26 [SP

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Paolo Bonzini
On 10/28/2010 12:24 PM, Georg Lay wrote: Emitting a bunch of CLOBBERs in epilogue/sibcall_epilogue works also, at least for the small example above. But using LOCAL_REGNO seems more natural to me and that does not clutter RTL. True. It's a pretty elegant solution, and I missed it in my mail (I

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Georg Lay
Paolo Bonzini schrieb: > On 10/22/2010 01:16 PM, Georg Lay wrote: >> I already tried to fix this by introducing a different return-pattern, >> i.e. a >> PARALLEL of return and bunch of clobbers of unused regs. That fixes >> this problem >> but has many other disadvantages compared to a simple retur

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Georg Lay
Georg Lay schrieb: > This code is not nice. > > ;; d8 = d4 * d6 > ;; d8 = d2 > ;; d2 = d8 > ;; return d2 this should be ;; d2 = d4 * d6 ;; d8 = d2 ;; d2 = d8 ;; return d2 Georg

Is Ada 2005 Issue AI-0157 implemented correctly in GCC 4.6.0?

2010-10-28 Thread John Marino
This Ada 2012 amendment titled "Calling Unchecked Deallocation is illegal for zero-sized pools" has been implemented in GCC 4.6.0 recently (ada/sem_intr.adb). However, the restriction is enforced even when -gnat2005 (or -gnat95) switched are explicitly passed to gcc. Shouldn't this check onl

Re: Is Ada 2005 Issue AI-0157 implemented correctly in GCC 4.6.0?

2010-10-28 Thread Robert Dewar
On 10/28/2010 9:37 AM, John Marino wrote: This Ada 2012 amendment titled "Calling Unchecked Deallocation is illegal for zero-sized pools" has been implemented in GCC 4.6.0 recently (ada/sem_intr.adb). However, the restriction is enforced even when -gnat2005 (or -gnat95) switched are explicitl

Re: Is Ada 2005 Issue AI-0157 implemented correctly in GCC 4.6.0?

2010-10-28 Thread John Marino
Thanks for the explanation, Robert. To be clear, it's code maintained by Adacore that has run afoul of the change. I don't believe gprbuild is part of Adacore's public repository, so I'm not quite sure how I'm supposed to obtain a version of gprbuild that will compile with GCC 4.6.0. This v

Help with reloading FP + offset addressing mode

2010-10-28 Thread Mohamed Shafi
Hi, I am doing a port in GCC 4.5.1. For the port 1. there is only (reg + offset) addressing mode only when reg is SP. Other base registers are not allowed 2. FP cannot be used as a base register. (FP based addressing is done by copying it into a base register) In order to take advantage of FP el

Re: Is Ada 2005 Issue AI-0157 implemented correctly in GCC 4.6.0?

2010-10-28 Thread Arnaud Charlet
> To be clear, it's code maintained by Adacore that has run afoul of the > change. I don't believe gprbuild is part of Adacore's public repository, > so I'm not quite sure how I'm supposed to obtain a version of gprbuild that > will compile with GCC 4.6.0. This version was released with GNAT GPL

Re: peephole2: dead regs not marked as dead

2010-10-28 Thread Paolo Bonzini
On 10/28/2010 03:10 PM, Georg Lay wrote: Georg Lay schrieb: This code is not nice. ;; d8 = d4 * d6 ;; d8 = d2 ;; d2 = d8 ;; return d2 this should be ;; d2 = d4 * d6 ;; d8 = d2 ;; d2 = d8 ;; return d2 It seems to me that some of your peepholes should instead be implemented using constrain

Fwd: NEW GCC build failure, h...@166030 on native

2010-10-28 Thread Andrew Pinski
The important part of the log is: /bin/sh ./libtool --tag=CC --mode=compile /Users/regress/tbox/native/build/./gcc/xgcc -B/Users/regress/tbox/native/build/./gcc/ -B/Users/regress/tbox/objs/powerpc-apple-darwin9.8.0/bin/ -B/Users/regress/tbox/objs/powerpc-apple-darwin9.8.0/lib/ -isystem /Users/reg

Re: Fwd: NEW GCC build failure, h...@166030 on native

2010-10-28 Thread Paolo Bonzini
On 10/29/2010 12:35 AM, Andrew Pinski wrote: The important part of the log is: /bin/sh ./libtool --tag=CC --mode=compile /Users/regress/tbox/native/build/./gcc/xgcc -B/Users/regress/tbox/native/build/./gcc/ -B/Users/regress/tbox/objs/powerpc-apple-darwin9.8.0/bin/ -B/Users/regress/tbox/objs/pow

gcc-4.5-20101028 is now available

2010-10-28 Thread gccadmin
Snapshot gcc-4.5-20101028 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20101028/ 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

simple for loop on g++ 4.4.3

2010-10-28 Thread eric lin
dear linux(or g++) user/programer with c++: my name is eric, when I use most current g++ 4.3.3 on ubuntu to test 2 simple c++ programs, one have compiler error, // formore.cpp -- more looping with for #include using namespace std; const int ArSize = 16; // example of exte

Re: simple for loop on g++ 4.4.3

2010-10-28 Thread Jonathan Wakely
On 28 October 2010 23:41, eric lin wrote: >  you can see both programs, their for loop are very similar(or the same) > for (int i=0 > but why first , and second programs can not compile > but > the third one is OK > ? This mailing list is for development of gcc, not help using it, please send thes

A Framework for GCC Plug-ins

2010-10-28 Thread Justin Seyster
One of my research projects for the past few months has been a framework for writing GCC instrumentation plug-ins called InterAspect. I am releasing the project today, and since there is a general interest in plug-ins on this list, I wanted to send a quick announcement with a pointer to the web sit

Re: define_split

2010-10-28 Thread Ian Lance Taylor
roy rosen writes: > I am trying to use define_split, but it seems to me that I don't > understand how it is used. > It says in the gccint.pdf (which I use as my tutorial (is there > anything better or more up to date?)) Assuming you built gccint.pdf from the gcc sources that you are using for d

Re: define_split

2010-10-28 Thread roy rosen
2010/10/29 Ian Lance Taylor : > roy rosen writes: > >> I am trying to use define_split, but it seems to me that I don't >> understand how it is used. >> It says in the gccint.pdf (which I use as my tutorial (is there >> anything better or more up to date?)) > > Assuming you built gccint.pdf from t

Re: Help with reloading FP + offset addressing mode

2010-10-28 Thread Mohamed Shafi
On 29 October 2010 00:06, Joern Rennecke wrote: > Quoting Mohamed Shafi : > >> Hi, >> >> I am doing a port in GCC 4.5.1. For the port >> >> 1. there is only (reg + offset) addressing mode only when reg is SP. >> Other base registers are not allowed >> 2. FP cannot be used as a base register. (FP b

Benchmarks for Pointer Analysis

2010-10-28 Thread Swaroop Joshi
Hi, We are implementing a new context-sensitive algorithm for pointer analysis in GCC-4.5.0. Can anyone please suggest some good benchmarks for testing it ? Thanks, Swaroop.