[llvm-dev] callee saved regs list

Jonas Paulsson via llvm-dev llvm-dev at lists.llvm.org
Thu Aug 17 07:08:11 PDT 2017



On 2017-08-17 15:48, Krzysztof Parzyszek via llvm-dev wrote:
> On 8/17/2017 5:07 AM, Jonas Paulsson via llvm-dev wrote:
>> It seems strange that the common code cannot deduce for itself that 
>> the super regs are also callee saved given that all sub-regs of a 
>> register are.
>
> For this to be true, the super-register needs to be covered by its 
> sub-registers.  This is not the case in general (e.g. X86).  Also, if 
> you have a multi-level sub-register hierarchy then you may not need 
> all sub-registers to cover a given register.
>
On SystemZ, the super-registers in question are indeed completely 
covered by its sub-registers in the callee-saved list: R6Q = R6 + R7, etc.

/Jonas



More information about the llvm-dev mailing list