Reserve registers not to be used by the compiler

Does anyone know if there is a way to reserve a register set not to be used by a compiler? For example there are 64 available registers and the compiler can use only registers 0-31 and 40-45, and the others should be left alone.

I know that the simplest solution is to simply change number registers in one of the .td files, but what I’m looking is an option to use at run time. I need this to research various register combinations. Recompiling and running tests takes some time. If I could compile my code with say 128 registers and thn tell compiler to use only a certain set (say 0-32) at run time then this would significantly speed up my testing. I would be able to see what the code is doing for the same test with a 32 registers vs 64 vs 96 vs any number up to 128.

Does anyone know if there is a way to do it? Any help is appreciated.

You can override TargetRegisterInfo::getReservedRegs and reserve any registers you do not want allocated. -Matt

You can override TargetRegisterInfo::getReservedRegs and reserve any
registers you do not want allocated.

-Matt

Thanks.