[PATCH] Begin adding docs and IR-level support for the inalloca attribute

Reid Kleckner rnk at google.com
Wed Nov 13 14:42:53 PST 2013


Adding more people who care.

The LangRef explanation is trying to be really terse.  Is there somewhere I
should put a longer form explanation of why I think this representation is
the best?  It was also hashed on out llvmdev, and I can restart discussion
there if you like, linking it to this patch with the actual LangRef change.


On Wed, Nov 13, 2013 at 2:40 PM, Reid Kleckner <rnk at google.com> wrote:

> Hi majnemer, rafael.espindola,
>
> The inalloca attribute is designed to support passing C++ objects by
> value in the Microsoft C++ ABI.  It behaves the same as byval, except
> that it always implies that the argument is in memory and that the bytes
> are never copied.  This attribute allows the caller to take the address
> of an outgoing argument's memory and execute arbitrary code to store
> into it.
>
> This patch adds basic IR support, docs, and verification.  It does not
> attempt to implement any lowering or fix any possibly broken transforms.
>
> This will not be submitted until after the 3.4 branch on Nov 18.
>
> http://llvm-reviews.chandlerc.com/D2173
>
> Files:
>   docs/LangRef.rst
>   include/llvm-c/Core.h
>   include/llvm/Bitcode/LLVMBitCodes.h
>   include/llvm/IR/Argument.h
>   include/llvm/IR/Attributes.h
>   lib/AsmParser/LLLexer.cpp
>   lib/AsmParser/LLParser.cpp
>   lib/AsmParser/LLToken.h
>   lib/Bitcode/Reader/BitcodeReader.cpp
>   lib/Bitcode/Writer/BitcodeWriter.cpp
>   lib/IR/Attributes.cpp
>   lib/IR/Function.cpp
>   lib/IR/Verifier.cpp
>   lib/Target/CppBackend/CPPBackend.cpp
>   test/Bitcode/attributes.ll
>   test/CodeGen/CPP/attributes.ll
>   test/Verifier/inalloca1.ll
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131113/c9ea3e88/attachment.html>


More information about the llvm-commits mailing list