[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