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

Sean Silva silvas at purdue.edu
Wed Nov 13 16:24:18 PST 2013


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

> 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.
>

Add a new document about the feature. There is precedent for this with e.g.
<http://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints>
which calls out to <http://llvm.org/docs/Atomics.html>.

You can copy <http://llvm.org/docs/SphinxQuickstartTemplate.html>
(docs/SphinxQuickstartTemplate.rst) for a quick and easy bootstrap of a new
document.

-- Sean Silva


>
>
>
> 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
>>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131113/2aadf6c6/attachment.html>


More information about the llvm-commits mailing list