naked function attribute support for Mips
reed kotler
rkotler@mips.com
Thu May 2 23:37:00 GMT 2013
On 05/02/2013 04:13 PM, Andrew Pinski wrote:
> On Thu, May 2, 2013 at 3:35 PM, reed kotler <rkotler@mips.com> wrote:
>> This issue of naked function attribute support for Mips has come up in the
>> context of LLVM and in regards to maintaining compatibility with gcc.
>>
>> It's my understanding that the idea of the naked function attribute was
>> rejected for gcc Mips.
>>
>> I'm curious as to why.
>>
>> For LLVM it basically works just by nature of how LLVM works in its target
>> independent part.
>>
>> It will not emit the function prologue or epilogue.
>>
>> It still emits the .frame, .mask and .fmask because that is Mips specific
>> code that does not currently know about the naked function attribute, but
>> that is a separate issue.
>>
>> There is also the issue of the return statement but this also a separate non
>> Mips specific issue and I will post that separately.
> What are the use cases of naked for mips that the interrupt attribute
> does not handle? Including the use_shadow_register_set,
> keep_interrupts_masked and use_debug_exception_return attributes which
> MIPS backend already handles.
>
> Thanks,
> Andrew Pinski
For me, the reason would be so that you can control what is in the
function more precisely.
This would be for whatever reason you might not want default behavior
from some other
attribute.
More information about the Gcc
mailing list