Displaying 3 results from an estimated 3 matches for "ccassigntoregwithshadow".
2011 Sep 23
2
[LLVMdev] What CCAssignToXXXWithShadow means?
Hi, all
On the website, it says,
CCAssignToRegWithShadow <registerList, shadowList>
— similar to CCAssignToReg, but with a shadow list of registers
I don't know when we should use CCAssignToRegWithShadow. Because
I am not a architecture expert, please bear with my naive question.
Take ARMCallingConv.td as an example,
CCIfType<[i32], CC...
2011 Sep 23
0
[LLVMdev] What CCAssignToXXXWithShadow means?
Hello
> I don't know when we should use CCAssignToRegWithShadow. Because
> I am not a architecture expert, please bear with my naive question.
> Take ARMCallingConv.td as an example,
ARM is not good example :) Look into win64 calling convention. Shadow
means if some register is allocated for incoming argument another one
cannot be used for argument alloca...
2011 Sep 23
1
[LLVMdev] What CCAssignToXXXWithShadow means?
...into xmm1, edx is marked as occupied, etc.
I think ecx and xmm0 are physical different registers (not like ecx
and cx), right? So why we cannot use xmm0 while ecx has been used? Is
it just a rule or there are some considerations behind it?
>> CCIfType<[i32], CCIfAlign<"8", CCAssignToRegWithShadow<[R0, R2], [R0,
>> R1]>>>
>>
>> If we assign a value to R0(R2), then what happen to R0(R1)?
>It will be marked as occupied.
If we assign to R0, then R0 is marked occupied. Is it a redundant
statement?
> Yes. On ARM shadowing used as a trick to ensure "r...