[llvm-commits] [llvm] r76198 - in /llvm/trunk: docs/LangRef.html include/llvm-c/Core.h include/llvm/Attributes.h lib/AsmParser/LLLexer.cpp lib/AsmParser/LLParser.cpp lib/AsmParser/LLToken.h lib/CodeGen/PrologEpilogInserter.cpp lib/VMCore/Attribut

Eli Friedman eli.friedman at gmail.com
Fri Jul 17 12:33:03 PDT 2009


On Fri, Jul 17, 2009 at 11:07 AM, Anton Korobeynikov<asl at math.spbu.ru> wrote:
> Author: asl
> Date: Fri Jul 17 13:07:26 2009
> New Revision: 76198
>
> URL: http://llvm.org/viewvc/llvm-project?rev=76198&view=rev
> Log:
> Add support for naked functions

The verifier should verify that functions marked naked only contain a
single asm statement with no inputs or outputs.  Also, I think the
inliner needs to be aware of this because naked functions can't be
inlined.

>   // Add the code to save and restore the callee saved registers
> -  insertCSRSpillsAndRestores(Fn);
> +  if (!F->hasFnAttr(Attribute::Naked))
> +    insertCSRSpillsAndRestores(Fn);

It should be impossible for a naked function to cause spills...

-Eli




More information about the llvm-commits mailing list