[PATCH] [DOC] [NEW] Mapping High-Level Constructs to LLVM IR

Sean Silva silvas at purdue.edu
Sat Dec 28 20:20:22 PST 2013


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.

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.

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.

-- Sean Silva


On Sat, Dec 28, 2013 at 7:46 PM, Mikael Lyngvig <mikael at lyngvig.org> wrote:

> This document explains how to map various high-level language constructs
> to LLVM IR.
>
> The document is now ready to go live (and to be reviewed) even if it is
> nowhere near complete.
>
> 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.
>
> 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.
>
> Comments, critique, suggestions, enhancement requests, etc., are happily
> accepted!
>
> Once the document has been made part of the LLVM website, I'll remove my
> Github copy of it.
>
>
> -- Mikael
>
>
>
>
>
> _______________________________________________
> 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/20131228/5ee52356/attachment.html>


More information about the llvm-commits mailing list