www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - LLVM 2.6 Release!

reply Justin Johansson <no spam.com> writes:
Looks like Christmas is arriving early this year folks ...
just got this pressy from the LLVM team/Chris Lattner in my inbox.

I'm sure a number of D people will be excited about this announcement.

Cheers
Justin Johansson


Hi LLVM Friends, Fans, Followers and Fanatics,

LLVM 2.6 is live! You can download it here:
http://llvm.org/releases/  and read about it here:
http://llvm.org/releases/2.6/docs/ReleaseNotes.html

This release includes approximately 6 months of development that provide
major enhancements and new features over the LLVM 2.5 release.  This
includes significantly better X86-64 code generation, link-time
optimization support for ELF systems (with 'gold' linker), new code
generators for the MSP430, SystemZ, and BlackFin architectures, support
for multithreaded code generation and optimization, OProfile integration
for the JIT, support for SSE 4.2, ARM V7 support (including Thumb2 and
NEON), Ada2005 bindings, many improved optimizations, bug fixes, and
extensions and enhancements to the runtime API.  Please see the release
notes for more details.

A major highlight of the LLVM 2.6 release is the first public release of
the Clang compiler (http://clang.llvm.org), which is now considered to
be production quality for C and Objective-C code on X86 targets.  Clang
produces much better error and warning messages than GCC
(http://clang.llvm.org/diagnostics.html) and can compile Objective-C
code 3x faster than GCC 4.2 (http://clang.llvm.org/performance.html),
among other major features.

In addition to Clang, the LLVM project has grown a number of new LLVM
sub-projects, including:
- compiler-rt: Compiler runtime library (http://compiler-rt.llvm.org/)
- KLEE: Symbolic Analysis & Test Case Generator (http://klee.llvm.org/)
- DragonEgg: "llvm-gcc" plugin for GCC 4.5 (http://dragonegg.llvm.org/)

This release also includes the early start of a new "llvm-mc" project
(http://llvm.org/releases/2.6/docs/ReleaseNotes.html#mc), which aims to
auto-generate a suite of assembler, disassembler, and other machine code
technology from the LLVM target descriptions.

One of the things I'm really excited to see is the number of external
projects that are applying LLVM technology in interesting new ways.  The
release notes lists two Ruby implementations (Rubinius and MacRuby), the
Pure language, the LLVM D Compiler, the Roadsend PHP compiler, Unladen
Swallow (Python) and LLVM-Lua.  These projects show an amazing breadth
of different languages adopting LLVM as their shared optimization,
code generation, and JIT technologies (depending on the project).

Besides open source projects, there are a number of commercial
organizations applying LLVM in innovative new ways
(http://llvm.org/Users.html), and LLVM is being used for a wide range
of research projects published at the top academic conferences and
journals (http://llvm.org/pubs/).  It is truly exciting to see what
people are doing with LLVM!

Finally, we just wrapped up the third annual LLVM Developer's Meeting,
which was a great opportunity for LLVM people to meet face-to-face and
exchange ideas.  The event web site (http://llvm.org/devmtg/2009-10/)
includes slides and videos for most of the talks.  We send many thanks
out to Apple, Google, Adobe and Qualcomm Incorporated for sponsoring
the event!
Oct 24 2009
next sibling parent Moritz Warning <moritzwarning web.de> writes:
On Sat, 24 Oct 2009 06:36:42 -0400, Justin Johansson wrote:

[..]
 
 Hi LLVM Friends, Fans, Followers and Fanatics,
 
 LLVM 2.6 is live! You can download it here: http://llvm.org/releases/ 
 and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
[..] \o/
Oct 24 2009
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ...
 just got this pressy from the LLVM team/Chris Lattner in my inbox.
 
 I'm sure a number of D people will be excited about this announcement.
 
 Cheers
 Justin Johansson
 
 
 Hi LLVM Friends, Fans, Followers and Fanatics,
 
 LLVM 2.6 is live! You can download it here:
 http://llvm.org/releases/  and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
Oct 24 2009
next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ...
 just got this pressy from the LLVM team/Chris Lattner in my inbox.

 I'm sure a number of D people will be excited about this announcement.

 Cheers
 Justin Johansson


 Hi LLVM Friends, Fans, Followers and Fanatics,

 LLVM 2.6 is live! You can download it here:
 http://llvm.org/releases/  and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
Other than possible lack of manpower, I don't see why the LDC people don't just use setjmp/longjmp exception handling in the interim. It seems like a good "better than nothing" solution until LLVM gets fixed properly.
Oct 24 2009
parent Christian Kamm <kamm-incasoftware removethis.de> writes:
dsimcha wrote:
 Other than possible lack of manpower, I don't see why the LDC people don't
 just
 use setjmp/longjmp exception handling in the interim.  It seems like a
 good "better than nothing" solution until LLVM gets fixed properly.
The reason *is* lack of manpower. No one has volunteered to implement sjlj exception handling.
Oct 25 2009
prev sibling next sibling parent Moritz Warning <moritzwarning web.de> writes:
On Sat, 24 Oct 2009 09:40:03 -0500, Andrei Alexandrescu wrote:

 Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ... just got
 this pressy from the LLVM team/Chris Lattner in my inbox.
 
 I'm sure a number of D people will be excited about this announcement.
 
 Cheers
 Justin Johansson
 
 
 Hi LLVM Friends, Fans, Followers and Fanatics,
 
 LLVM 2.6 is live! You can download it here: http://llvm.org/releases/ 
 and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
There is a 0.9.1 release announcement visible on the LDC project page ( http://dsource.org/projects/ldc). LLVM 2.6 will be the base of the next release. But the LDC devs like to upgrade to the newest DMD "working" frontend first, because of the latest regressions. Hopefully that will be 1.051. Regarding exceptions on windows. The LLVM team has no (intermediate?) plans so far to add exception support for windows. They lack of manpower (iirc, they only have one windows dev). There is some effort to implement it in LDC, but it's tedious work. Nevertheless, thumbs up!
Oct 24 2009
prev sibling parent reply Justin Johansson <no spam.com> writes:
Andrei Alexandrescu Wrote:

 Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ...
 just got this pressy from the LLVM team/Chris Lattner in my inbox.
 
 I'm sure a number of D people will be excited about this announcement.
 
 Cheers
 Justin Johansson
 
 
 Hi LLVM Friends, Fans, Followers and Fanatics,
 
 LLVM 2.6 is live! You can download it here:
 http://llvm.org/releases/  and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
Andrei, I cannot say just how exciting it was to first break this news on D NG. My thinking is along lines: Scala is to JVM as D *is to/should be to/should aspired to be to* LLVM. btw. What's the latest ETA for TDPL? Justin
Oct 24 2009
next sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Sat, 24 Oct 2009 19:48:51 +0400, Justin Johansson <no spam.com> wrote:

 Andrei Alexandrescu Wrote:

 Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ...
 just got this pressy from the LLVM team/Chris Lattner in my inbox.

 I'm sure a number of D people will be excited about this announcement.

 Cheers
 Justin Johansson


 Hi LLVM Friends, Fans, Followers and Fanatics,

 LLVM 2.6 is live! You can download it here:
 http://llvm.org/releases/  and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
Andrei, I cannot say just how exciting it was to first break this news on D NG. My thinking is along lines: Scala is to JVM as D *is to/should be to/should aspired to be to* LLVM. btw. What's the latest ETA for TDPL? Justin
Amazon mentions March 15, 2010: http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Oct 24 2009
parent reply Justin Johansson <no spam.com> writes:
Denis Koroskin Wrote:

 On Sat, 24 Oct 2009 19:48:51 +0400, Justin Johansson <no spam.com> wrote:
 
 Andrei Alexandrescu Wrote:

 Justin Johansson wrote:
 Looks like Christmas is arriving early this year folks ...
 just got this pressy from the LLVM team/Chris Lattner in my inbox.

 I'm sure a number of D people will be excited about this announcement.

 Cheers
 Justin Johansson


 Hi LLVM Friends, Fans, Followers and Fanatics,

 LLVM 2.6 is live! You can download it here:
 http://llvm.org/releases/  and read about it here:
 http://llvm.org/releases/2.6/docs/ReleaseNotes.html
This is awesome news, and I'm glad the the ldc people are keeping an eye on D2. I wonder what's the status regarding exceptions on Windows or Windows support in general. I couldn't find information through a summary search through the release notes. My understanding is that currently there is no release at all of ldc. Is that correct? Andrei
Andrei, I cannot say just how exciting it was to first break this news on D NG. My thinking is along lines: Scala is to JVM as D *is to/should be to/should aspired to be to* LLVM. btw. What's the latest ETA for TDPL? Justin
Amazon mentions March 15, 2010: http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link. Did Andrei give a preview of the table of contents somewhere? I'd certainly welcome a chapter (or at least a detailed honorable mention) on LLVM though perhaps that would be outside of the scope of his book.
Oct 24 2009
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Justin Johansson wrote:
 Denis Koroskin Wrote:
 Amazon mentions March 15, 2010:
 http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link. Did Andrei give a preview of the table of contents somewhere? I'd certainly welcome a chapter (or at least a detailed honorable mention) on LLVM though perhaps that would be outside of the scope of his book.
An overview of LLVM/ldc would be outside of the scope of the book, but I encourage you to write about it and I'll make sure I'll insert a pointer in the book. Andrei
Oct 24 2009
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Justin Johansson wrote:
 btw. What's the latest ETA for TDPL?
Thank you for your interest. I plan to send a complete draft out on Nov 9. We're less stable with threads than I'd want, so probably the Nov 9 draft will not include the threads chapter. Then we'll pipeline reviews and editing with writing the last chapter and the threading API. We could use all the help we can get with threads and all other aspects of the language. I understand the mighty attraction of a conversation about semicolons, but I would have hoped someone would find the time and motivation to e.g. experiment with the MRU cache for the ~= operator. It looks like in the end it's down to Walter, Don, Sean, and myself for completing everything there is to be completed. Hopefully we'll find ways to cooperate with David Simcha of integrating his concurrency work too. Andrei
Oct 24 2009
prev sibling parent reply Justin Johansson <no spam.com> writes:
Andrei Alexandrescu Wrote:

 Justin Johansson wrote:
 Denis Koroskin Wrote:
 Amazon mentions March 15, 2010:
 http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link. Did Andrei give a preview of the table of contents somewhere? I'd certainly welcome a chapter (or at least a detailed honorable mention) on LLVM though perhaps that would be outside of the scope of his book.
An overview of LLVM/ldc would be outside of the scope of the book, but I encourage you to write about it and I'll make sure I'll insert a pointer in the book. Andrei
Sorry Andrei; I missed this reply by you until now. My interest in LLVM is largely outside of D but I think it is a really important technology for the future of D. (I have another non-D LLVM project that I'm working on in slow time.) Currently I don't actually use ldc because of its Tango affinity. Nevertheless it would be good if you can get someone from the ldc community to produce a salient one-pager on why LLVM for D to make reference to in your book. Justin
Oct 28 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Justin Johansson wrote:
 Andrei Alexandrescu Wrote:
 
 Justin Johansson wrote:
 Denis Koroskin Wrote:
 Amazon mentions March 15, 2010:
 http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link. Did Andrei give a preview of the table of contents somewhere? I'd certainly welcome a chapter (or at least a detailed honorable mention) on LLVM though perhaps that would be outside of the scope of his book.
An overview of LLVM/ldc would be outside of the scope of the book, but I encourage you to write about it and I'll make sure I'll insert a pointer in the book. Andrei
Sorry Andrei; I missed this reply by you until now. My interest in LLVM is largely outside of D but I think it is a really important technology for the future of D. (I have another non-D LLVM project that I'm working on in slow time.) Currently I don't actually use ldc because of its Tango affinity. Nevertheless it would be good if you can get someone from the ldc community to produce a salient one-pager on why LLVM for D to make reference to in your book. Justin
Sounds good, thanks. If anyone is up to the task, we'd all be grateful. Andrei
Oct 28 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:

 Sounds good, thanks. If anyone is up to the task, we'd all be grateful.
LLVM is good for D/LDC for several things: - The LLVM optimizer is good, usually quite better than the DMD one. If you write D C-like code you usually reach performance similar to true C code. - LLVM misses some optimizations, like de-virtualization, auto-vectorization, and some more, but LLVM is a very alive project (partially paid by Apple) so probably eventually those things will be added. I have shown bugs to LLVM people and they have fixed it in few days. They were almost as fast as LDC developers (lately LDC devs seem sleepy to me). - LLVM is written in a good enough C++, its API is not bad. You can use LLVM for your purposes in just few days for small projects. Try doing the same thing with GCC. - LLVM is not a compiler, it's a compilation framework. More and more projects use it in several different ways. D is not a VM-based language, but eventually it can even be possible for LDC to compile and run code at runtime, for example to instantiate templates at runtime. LLVM can be used for several other things. - LLVM will probably offer ways to implement a lint tool for D. - LLVM is designed for all different kinds of purposes, so inside it you can find things like overflow-safe fixed-sized integers, stack canaries, other stack protection means, ways to design a precise GC that keeps in account the stack too (and eventually registers too). - LLVM offers and will offer some modern things, like link-time optimization, a good (goden) linker, an ecosystem of tools that work and can communicate to each other using reliable languages like bc and ll. - You can use LLVM on 64 bit CPUs too, and eventually exceptions on Windows too, etc. Some of the other optimizations useful for C++ (de-virtualization) will be pushed in the back-end (and not in the new front-end Clang) so they will be usable by LDC too for free. - LLVM is made of parts, so you can use them and re-combine them for many different purposes. There are many research papers written on and with llvm, and more will come, because hacking llvm is quite simpler than doing similar things with gcc (despite gcc 4.5 has now a plug-in system. LLVM doesn't need it because it works in the opposite way). So LLVM will allow to do things that today we haven't invented yet. - Some of the top LLVM developers are paid by Apple, this has disadvantages too. You can see an example of this from the missing videos/PDFs of the last conference, they were not allowed to show them, because Apple is sometimes even more corporative than Microsoft: http://llvm.org/devmtg/2009-10/ Bye, bearophile
Oct 28 2009
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 
 Sounds good, thanks. If anyone is up to the task, we'd all be grateful.
LLVM is good for D/LDC for several things:
[snip] Thanks. Just in case I was misunderstood - I said: If anyone would want to write an article (e.g. a blog entry, magazine article, self-published Web article etc., but not a newsgroup article) about ldc, I'd be glad to cite it and link to it from within TDPL. Andrei
Oct 28 2009
prev sibling parent Nick B <"nick_NOSPAM_.barbalich" gmail.com> writes:
bearophile wrote:
 Andrei Alexandrescu:
[snip] You can see an example of this from the missing videos/PDFs of the last conference, they were not allowed to show them, because Apple is sometimes even more corporative than Microsoft:
 http://llvm.org/devmtg/2009-10/
 
 Bye,
 bearophile
Bearophile Thanks for the link. By the way there is quite a interesting talk from David Greene from CRAY using LLVM titled "LLVM on 180k Cores". cheers Nick B.
Oct 28 2009