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

Mikael Lyngvig mikael at lyngvig.org
Sat Nov 30 21:47:35 PST 2013


Great idea!  It is now on my to-do list.


-- Mikael


2013/12/1 Sean Silva <chisophugis at gmail.com>

>
>
>
> 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/20131201/ff5fbabb/attachment.html>


More information about the llvm-dev mailing list