This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: naked function attribute support for Mips


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.






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]