Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Dimitrios Apostolou
On Mon, 7 Nov 2011, Jakub Jelinek wrote: On Mon, Nov 07, 2011 at 12:01:29AM +0200, Dimitrios Apostolou wrote: On Sun, 6 Nov 2011, Joern Rennecke wrote: But where HARD_REG_SETS make no material difference in speed, and the compilation unit has no other tight coupling with tm.h, it would really b

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Jakub Jelinek
On Mon, Nov 07, 2011 at 12:01:29AM +0200, Dimitrios Apostolou wrote: > On Sun, 6 Nov 2011, Joern Rennecke wrote: > >But where HARD_REG_SETS make no material difference in speed, and the > >compilation unit has no other tight coupling with tm.h, it would really > >be cleaner to move from HARD_REG_SE

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Joern Rennecke
Quoting Dimitrios Apostolou : Working with bitmaps in gcc made me really miss the simple bitmap.h of the linux kernel. I'm not sure if we can borrow from there. More info at: http://lxr.linux.no/#linux+v3.1/include/linux/bitmap.h You would need the Copyright holders to assign their Copyright

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Dimitrios Apostolou
On Sun, 6 Nov 2011, Joern Rennecke wrote: But where HARD_REG_SETS make no material difference in speed, and the compilation unit has no other tight coupling with tm.h, it would really be cleaner to move from HARD_REG_SETS to a target-independent type, like sbitmap or bitmap. Maybe we want someth

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Joern Rennecke
Quoting Jakub Jelinek : The middle-end uses HARD_REG_SET in lots of places, so supposedly when you want to support more than one target, you need to ensure that hard-reg-set.h header won't use FIRST_PSEUDO_REGISTER of one randomly selected target you want to support, but instead somehow computed

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Jakub Jelinek
On Sun, Nov 06, 2011 at 03:48:16PM -0500, Joern Rennecke wrote: > >Or keep HARD_REG_SET type as is and just use a new struct type which > >contains HARD_REG_SET or HARD_REG_SET * in it. > >struct hard_reg_set_ptr; > >void (*live_on_entry) (struct hard_reg_set_ptr *); > >in the target* headers and >

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Joern Rennecke
Jakub Jelinek: On Sun, Nov 06, 2011 at 01:12:21PM +0100, Paolo Bonzini wrote: > What about adding a macro indirection to more functions (like you > did with SET_HARD_REG_BIT and friends), so that pass-by-value can be > changed to pass-by-reference without affecting all the uses > throughout the c

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Jakub Jelinek
On Sun, Nov 06, 2011 at 01:12:21PM +0100, Paolo Bonzini wrote: > On 11/06/2011 03:19 AM, Dimitrios Apostolou wrote: > > > >I understand major hassle is when the register file is big, too much > >data is being copied on a function call, when it has a HARD_REG_SET as a > >pass by value parameter. So

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-11-06 Thread Paolo Bonzini
On 11/06/2011 03:19 AM, Dimitrios Apostolou wrote: I understand major hassle is when the register file is big, too much data is being copied on a function call, when it has a HARD_REG_SET as a pass by value parameter. So I did some testing on SPARC, which has the biggest register file I know of,

Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps

2011-08-22 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/22/11 11:16, Dimitrios Apostolou wrote: > > Any updates will come as a followup to this thread. I still have to > do some testing on other platforms. Do we have access to any PA and > MIPS machinery? I also wanted to test on architecture with l