RS6000 call pattern clobbers

Joern Rennecke joernr@arc.com
Mon Feb 26 18:42:00 GMT 2007


> > 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 clobber of a hard reg, there were a number of things that such a hard
> reg couldn't be used for (this is where the details are murky) and in order
> to avoid that problem a match_scratch was used to delay the explicit hard
> register usage as long as possible.

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.



More information about the Gcc mailing list