<div dir="ltr">Great idea! It is now on my to-do list.<div><br></div><div><br></div><div>-- Mikael</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/1 Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 30, 2013 at 11:20 PM, Mikael Lyngvig <span dir="ltr"><<a href="mailto:mikael@lyngvig.org" target="_blank">mikael@lyngvig.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">I'm glad you see the potential of this document. It is very important that everybody joins in and add their pennies so that the document eventually reflects the real experience of people who have actually tried and studied these things, and who are familiar with LLVM IR from using and implementing it for a long time. </div>
</blockquote><div><br></div><div>It would really help if you tracked down various frontend implementers and asked them for feedback. I can at least think of Rust, Haskell (GHC), and Rubinius.</div><div><br></div><div>-- Sean Silva<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>
<br></div><div>I sort of hope that this document will one day cover almost all LLVM IR instructions and attributes so that the Language Reference can be used as a reference (like the title of it suggests) and this document can be used as a primer/guide/tutorial/introduction to LLVM IR. I imagine people will start out with this document and then gradually become familiar with the Language Reference.</div>
<span><font color="#888888">
<div><br></div><div><br></div><div>-- Mikael</div></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/1 Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Just briefly looking over the document, I really like the content.<div>
<br></div><div>I'm now starting to see a really good "fit" for this document: a "guide for language frontend implementers" illustrating basic techniques along with a discussion of implementation decisions regarding the lowering of certain constructs. I don't think that we currently have any documentation targeted at language frontend writers; I would really like to see this document evolve into that.</div>
<div><br></div><div>E.g., what are the different ways to do lambdas and what are their tradeoffs regarding optimizability, etc.; or a discussion of the various function attributes (e.g. noalias) which are vital for getting the best performance out of the optimizers (many languages semantically don't have aliasing issues (or fewer than C/C++ at least!), and this needs to be communicated to the optimizer; currently we don't have documentation offering guidance in this regard). </div>
<div><div><br></div><div>Most of the documentation about the IR is aimed at people writing optimization passes. Catering to language frontends seems like it would be a really good thing to do in a systematic fashion.<br>
<div>
<br></div><div>-- Sean Silva</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 28, 2013 at 9:07 PM, Mikael Lyngvig <span dir="ltr"><<a href="mailto:mikael@lyngvig.org" target="_blank">mikael@lyngvig.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>It will probably take a few weeks or a month before the "Mapping High-Level Constructs to LLVM IR" document is ready for prime time. Until then, you can review and study it at this URL:</div>
<div><br></div><div> <a href="https://github.com/archfrog/llvm-doc/blob/master/MappingHighLevelConstructsToLLVMIR.rst" target="_blank">https://github.com/archfrog/llvm-doc/blob/master/MappingHighLevelConstructsToLLVMIR.rst</a></div>
<div>
<br></div><div><br></div><div>Please notice that I specifically do not advocate reviewing the document for a week or two. But feel free to give me any feedback, comments, and criticism that you may have to share. </div>
<div><br></div><div>Once the document has been finalized and comitted to LLVM, I'll delete the repository at Github - or, perhaps even better, simply make a small page that refers to the official copy in LLVM.</div><span><font color="#888888"><div>
<br></div><div><br></div><div>-- Mikael</div><div><br></div></font></span></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>
</blockquote></div><br></div>