[LLVMdev] "Mapping High-Level Constructs to LLVM IR" Github URL

Sean Silva chisophugis at gmail.com
Sat Nov 30 20:32:44 PST 2013


On Sat, Nov 30, 2013 at 11:20 PM, Mikael Lyngvig <mikael at lyngvig.org> wrote:

> 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.
>

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.

-- Sean Silva


>
> 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.
>
>
> -- Mikael
>
>
> 2013/12/1 Sean Silva <chisophugis at gmail.com>
>
>> Just briefly looking over the document, I really like the content.
>>
>> 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.
>>
>> 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).
>>
>> 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.
>>
>> -- Sean Silva
>>
>>
>> On Thu, Nov 28, 2013 at 9:07 PM, Mikael Lyngvig <mikael at lyngvig.org>wrote:
>>
>>> Hi,
>>>
>>> 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:
>>>
>>>
>>> https://github.com/archfrog/llvm-doc/blob/master/MappingHighLevelConstructsToLLVMIR.rst
>>>
>>>
>>> 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.
>>>
>>> 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.
>>>
>>>
>>> -- Mikael
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131130/16b9bd4b/attachment.html>


More information about the llvm-dev mailing list