<div dir="ltr">Didn't we discuss turning this into a guide for language frontend implementers? It seems to still be "mapping high level constructs" which isn't conducive to a well-organized document with a clear goal and clear directions for future improvement. Having the document as "mapping high level constructs" will only be result in this turning into a grab bag of "lowerings" that does not cater to any particular reader's information needs.<div>
<br></div><div>You need to really think about the goal of this document and its audience (who are they? what are they trying to learn about? (please answer these questions in your reply)). The document seems to be conflating whether its audience is frontend implementers vs. LLVM newbies who just want some examples of the lowering of things to IR. The result is that neither of those audiences are served well. My general feeling for the document is that it not suited for newbies since it is too encyclopedic; on the other hand, it is too disorganized and does not discuss tradeoffs or go into enough detail (or goes into pointlessly too much detail because it is trying to cater to newbies) to be well-suited for frontend implementers.</div>
<div><br></div><div>I wouldn't be against a "tour" of some IR lowerings to give newbies a feel for the IR. However, we much more direly need a guide for frontend implementers who already have some amount of experience with the IR. I strongly believe that this document should become a guide for frontend implementers.</div>
<div><div><br></div><div>-- Sean Silva</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 28, 2013 at 7:46 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>This document explains how to map various high-level language constructs to LLVM IR.</div><div><br>
</div>The document is now ready to go live (and to be reviewed) even if it is nowhere near complete. <div>
<br></div><div>I must confess that many of the requested features (such as Itanium exception handling) are well beyond the scope of my current knowledge so I'll have to work on these over the coming months and years as only a single person has volunteered to contribute material.<div>

<br></div><div>I have linked the document into the index right after the Language Reference as I believe most newcomers will be VERY interested in stumbling across this document.  I know from my own experience that initially the vast amount of documentation makes it difficult to determine what you should look at and what you can ignore for the time being.</div>

<div><br></div><div>Comments, critique, suggestions, enhancement requests, etc., are happily accepted!</div><div><br></div><div>Once the document has been made part of the LLVM website, I'll remove my Github copy of it.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div><br></div><div>-- Mikael</div><div><div><br></div><div><br><div><br></div><div><br></div></div></div></font></span></div></div>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>