[llvm-commits] [patch] add n32/64 ABI description.

Liu proljc at gmail.com
Thu Sep 22 23:12:55 PDT 2011


On Fri, Sep 23, 2011 at 10:36 AM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> On Thu, Sep 22, 2011 at 6:48 PM, Liu <proljc at gmail.com> wrote:
>> On Fri, Sep 23, 2011 at 1:17 AM, Akira Hatanaka <ahatanak at gmail.com> wrote:
>>> A few comments. Please let me know if you have any questions.
>>>
>>> - If N64 and N32 have the same calling convention, you should define
>>> just one for both (e.g. CC_MIps64).
>> I'll double check this.
>>
>>> - Arguments passed in Integer registers shadow floating pointer
>>> registers and vice verca. For example, the first doubleword is passed
>>> in either $4 or $f1, the second in
>>> either $5 or $f1, and so on. Probably you will need to use
>>> CCAssignToRegWithShadow (please see ARMCallingConv.td).
>> Thanks, I'll fix it.
>>
>>> - Integer arguments are all promoted to i64.
>> fixed.
>>
>>> - i64 integer arguments should be passed in 64-bit registers (I will
>>> add the register and register file definitions shortly). Also, i64
>>> return value should be in 64-bit registers.
>> I'm not sure about this. Shall we need regs such as "AT_64, V0_64, V1_64..."?
>>
>
> Yes. The definitions were added in r140366.
Everything should be done. Please review again.

--Liu

>
>>> - Arguments that cannot be passed in registers are push to the stack,
>>> so you need to use  CCAssignToStack.
>> Thank you, I'll fix it soon.
>>
>>>
>>> On Thu, Sep 22, 2011 at 12:23 AM, Liu <proljc at gmail.com> wrote:
>>>> Hi
>>>>
>>>> I added n32/64 ABI description for MIPS Backend.
>>>>
>>>> --Liu
>>>>
>>>
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-add-n32-n64-ABI-support-to-MIPS.patch
Type: text/x-patch
Size: 3109 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110923/5ba22592/attachment.bin>


More information about the llvm-commits mailing list