<div dir="ltr">Adding more people who care.<div><br></div><div>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.<br>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 13, 2013 at 2:40 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi majnemer, rafael.espindola,<br>
<br>
The inalloca attribute is designed to support passing C++ objects by<br>
value in the Microsoft C++ ABI.  It behaves the same as byval, except<br>
that it always implies that the argument is in memory and that the bytes<br>
are never copied.  This attribute allows the caller to take the address<br>
of an outgoing argument's memory and execute arbitrary code to store<br>
into it.<br>
<br>
This patch adds basic IR support, docs, and verification.  It does not<br>
attempt to implement any lowering or fix any possibly broken transforms.<br>
<br>
This will not be submitted until after the 3.4 branch on Nov 18.<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D2173" target="_blank">http://llvm-reviews.chandlerc.com/D2173</a><br>
<br>
Files:<br>
  docs/LangRef.rst<br>
  include/llvm-c/Core.h<br>
  include/llvm/Bitcode/LLVMBitCodes.h<br>
  include/llvm/IR/Argument.h<br>
  include/llvm/IR/Attributes.h<br>
  lib/AsmParser/LLLexer.cpp<br>
  lib/AsmParser/LLParser.cpp<br>
  lib/AsmParser/LLToken.h<br>
  lib/Bitcode/Reader/BitcodeReader.cpp<br>
  lib/Bitcode/Writer/BitcodeWriter.cpp<br>
  lib/IR/Attributes.cpp<br>
  lib/IR/Function.cpp<br>
  lib/IR/Verifier.cpp<br>
  lib/Target/CppBackend/CPPBackend.cpp<br>
  test/Bitcode/attributes.ll<br>
  test/CodeGen/CPP/attributes.ll<br>
  test/Verifier/inalloca1.ll<br>
</blockquote></div><br></div></div></div>