[PATCH] Begin adding docs and IR-level support for the inalloca attribute
Reid Kleckner
rnk at google.com
Wed Nov 13 14:40:12 PST 2013
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 --------------
A non-text attachment was scrubbed...
Name: D2173.1.patch
Type: text/x-patch
Size: 13429 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131113/3af6db58/attachment.bin>
More information about the llvm-commits
mailing list