[llvm-commits] [patch] Refactor getCalleeSavedRegClasses and getCalleeSavedRegs

Jakob Stoklund Olesen stoklund at 2pi.dk
Tue Jun 1 22:41:43 PDT 2010


On Jun 1, 2010, at 10:12 PM, Rafael Espindola wrote:

>> They should spill as VR128, and again that is the ultimate subclass:
> 
> True, that is what the x86 backend does now.
> 
>> I expect it to 'just work' if you change the definition of getPhysicalRegisterRegClass, but testing is in order, of course. Perhaps a new name is a good idea as well? getMinimalPhysRegClass?
> 
> I tested, and neon tests started failing. Not entirely sure why.

It looks like ARMBaseInstrInfo::copyRegToReg is not expecting SPR_8 classes.

>> The function has been around for a long time, and at some point a register was only allowed to exist in one register class.
> 
> So, attached is a first patch that might be useful in itself. What it
> does is remove uses of getCalleeSavedRegClasses from outside the
> backends and removes the virtual declaration. With that out of the way
> I should be able to cleanup one backend at a time.

Looks good to me, but please check for differences between getMinimalPhysRegClass and the old manual getCalleeSavedRegClasses.

/jakob





More information about the llvm-commits mailing list