Live data from Hacker News

The Design of LLVM

drdobbs.com

11–20 of 20 posts

Re: The Design of LLVM

#11
post #2

Looks like this is from The Architecture of Open Source Applications: http://www.aosabook.org/en/llvm.html There's some other good stuff (and a book) on the site as well.

That also explains why it references LLVM 2.8, while the dateline says it's from May 29, 2012.

Re: The Design of LLVM

#12
"A second success story is perhaps the most unfortunate, but also most popular way to reuse compiler technology: translate the input source to C code (or some other language) and send it through existing C compilers."

Author forgets to mention the more recent "success" story of compiling languages to Javascript. That is a shame for the industry that such thing exists.

Re: The Design of LLVM

#13
The original source for this LLVM article is a chapter in the Architecture of Open Source Applications (AOSA), and the LLVM chapter is available at:

http://www.aosabook.org/en/llvm.html>

AOSA is now a two-volume book " rel="nofollow">http://www.aosabook.org>, with chapters providing overviews of 49 open source projects.

Re: The Design of LLVM

#14

This article has a lot of interesting stuff, though it tends to be largely cheerleading LLVM's design decisions, rather than delving into the really interesting tradeoffs. For example, some compilers use multiple levels of optimizer IR, for example Open64/Pathscale. This allows them to perform more high-level language-specific optimizations. LLVM forces front-ends to lower their code directly down to its fairly low l…

I spent a couple years working on a .NET runtime that used LLVM as its back-end and found it to be more than adequate as a base for that ecosystem, specifically languages like C# and C++-CLI. Some changes were needed to LLVM in order to support precise garbage collection but they were fairly minimal. Debugging worked very well, though it wasn't as full featured as Visual Studio's .NET debugging environment it was abo…

See Julia (http://julialang.org) for an example of a dynamic language that uses LLVM rather successfully (IMO).

Re: The Design of LLVM

#15
post #13

The original source for this LLVM article is a chapter in the Architecture of Open Source Applications (AOSA), and the LLVM chapter is available at: http://www.aosabook.org/en/llvm.html&#62 ; AOSA is now a two-volume book " rel="nofollow">http://www.aosabook.org> , with chapters providing overviews of 49 open source projects.

Thanks for the links. BTW, the trailing ">" you are inserting is getting caught in HN's automatic linking and being inserted into the tag.

Re: The Design of LLVM

#16
post #14

Earlier quoted context omitted.

I spent a couple years working on a .NET runtime that used LLVM as its back-end and found it to be more than adequate as a base for that ecosystem, specifically languages like C# and C++-CLI. Some changes were needed to LLVM in order to support precise garbage collection but they were fairly minimal. Debugging worked very well, though it wasn't as full featured as Visual Studio's .NET debugging environment it was abo…

See Julia ( http://julialang.org ) for an example of a dynamic language that uses LLVM rather successfully (IMO).

I'm not familiar with how Julia uses it, but I've worked on two different projects that tried to use LLVM as a JIT backend, I've written a small bit on the experience: http://www.quora.com/LLVM/Is-LLVM-not-good-for-interpreted-l...

Re: The Design of LLVM

#17

This article has a lot of interesting stuff, though it tends to be largely cheerleading LLVM's design decisions, rather than delving into the really interesting tradeoffs. For example, some compilers use multiple levels of optimizer IR, for example Open64/Pathscale. This allows them to perform more high-level language-specific optimizations. LLVM forces front-ends to lower their code directly down to its fairly low l…

> This article has a lot of interesting stuff, though it tends to be largely cheerleading LLVM's design decisions

This is not very surprising, the author of the article is Chris Lattner, one of the architects of LLVM and Clang. Maybe he should have made this clear upfront.

Re: The Design of LLVM

#18
post #15
post #13

The original source for this LLVM article is a chapter in the Architecture of Open Source Applications (AOSA), and the LLVM chapter is available at: http://www.aosabook.org/en/llvm.html&#62 ; AOSA is now a two-volume book " rel="nofollow">http://www.aosabook.org> , with chapters providing overviews of 49 open source projects.

Thanks for the links. BTW, the trailing ">" you are inserting is getting caught in HN's automatic linking and being inserted into the tag.

RFC1738 - Uniform Resource Locators (URL) - recommends use of angle brackets in its "Recommendations for URLs in Context" appendix; when URLs are embedded in text.

http://www.ietf.org/rfc/rfc1738.txt>

Re: The Design of LLVM

#19
post #18
post #15

Earlier quoted context omitted.

Thanks for the links. BTW, the trailing ">" you are inserting is getting caught in HN's automatic linking and being inserted into the tag.

RFC1738 - Uniform Resource Locators (URL) - recommends use of angle brackets in its "Recommendations for URLs in Context" appendix; when URLs are embedded in text. http://www.ietf.org/rfc/rfc1738.txt&#62 ;

Sure, but HN mangles the links. If this was email it might make more sense - or if HN's auto-parsing code were changed.

Re: The Design of LLVM

#20
post #19
post #18

Earlier quoted context omitted.

RFC1738 - Uniform Resource Locators (URL) - recommends use of angle brackets in its "Recommendations for URLs in Context" appendix; when URLs are embedded in text. http://www.ietf.org/rfc/rfc1738.txt&#62 ;

Sure, but HN mangles the links. If this was email it might make more sense - or if HN's auto-parsing code were changed.

This is the Internet.

It's filled with pedants.

Some of us are even RFC-compliant.

Post reply on HN