Re: RS6000 call pattern clobbers

2007-02-26 Thread Richard Kenner
> Actually, this depended on SMALL_REGISTER_CLASSES. If the target was not > marked has having SMALL_REGISTER_CLASSES, any explicitly used hard register > would not be used for register and/or spill allocations anywhere in the > function. That's one issue, but I'm not sure is the only one. Also

Re: RS6000 call pattern clobbers

2007-02-26 Thread Joern Rennecke
> > Do you remember why you wrote the call patterns this way? Was > > there a problem with reload and clobbers of hard registers in a register > > class containing a single register or some other historical quirk? > > I think the former. I no longer remember the details, but if you had > a clobb

Re: RS6000 call pattern clobbers

2007-02-26 Thread Richard Kenner
> The patterns clobber and use the rs6000 link register as a match_scratch > with constraint of the link register class: > >(clobber (match_scratch:SI 0 "=l")) > > instead of clobbering the link register hard register directly in the > early insn generation. This style dates to the original

RS6000 call pattern clobbers

2007-02-25 Thread David Edelsohn
Richard, While fixing ports in preparation for the new dataflow infrastructure, we found a problem with the way that the rs6000 port represents clobbers and uses of registers in call and sibcall patterns. The patterns clobber and use the rs6000 link register as a match_scratch with constra