LWN.net Logo

LLVM 2.2 released

From:  Chris Lattner <sabre-AT-nondot.org>
To:  llvm-announce-AT-cs.uiuc.edu
Subject:  LLVM 2.2 Release!
Date:  Tue, 12 Feb 2008 00:04:14 -0800 (PST)
Message-ID:  <Pine.LNX.4.62.0802112332070.16931@nondot.org>
Archive-link:  Article, Thread


Hi All,

LLVM 2.2 is done! Download it here: http://llvm.org/releases/ or view the 
release notes: http://llvm.org/releases/2.2/docs/ReleaseNotes.html

LLVM 2.2 includes hundreds of bug fixes, many improvements to llvm-gcc 4.2 
(which is now the recommended front-end), a new (beta) Cell SPU backend, 
and a large variety of optimizer and codegen changes that allow LLVM 2.2 
to produce even better code than before.  LLVM 2.2 has compiled many 
millions of lines of C, C++ and Objective C code, and the llvm-gcc 4.2 
Ada and Fortran front-ends are even starting to work.

The LLVM 2.2 release notes contain a fairly complete discussion of the 
major improvements in this release, but two may be particularly 
interesting for a broader audience:  First, this is the last release to 
support llvm-gcc 4.0.  We recommend that you upgrade to 4.2 in LLVM 2.2+. 
Second, we now include a new tutorial aimed at language designers.  Read 
it online here: http://llvm.org/docs/tutorial/

In other news, we are in early planning stages for the 2008 LLVM Developer 
Meeting.  The 2007 Developer Meeting ( http://llvm.org/devmtg/2007-05/ ) 
was an extremely valuable way for LLVM developers to meet each other and 
talk about their interests and priorities.  At this point, we are 
tentatively planning the 2008 meeting for late summer (July or August) in 
the Cupertino, CA area.  For more information, please contact the llvmdev 
mailing list.

This release is the result of hundreds of great contributions by many 
people, far too many to list here.  I'm happy to say that LLVM has a 
strong and thriving community, consisting of dozens of people that are 
driving a whole new generation of open source compiler technology
forward.  To all contributors: thank you!

If you have any questions or comments, please contact the LLVMdev
mailing list (llvmdev at cs.uiuc.edu)!

-Chris

Previous Announcement (LLVM 2.1):
http://lists.cs.uiuc.edu/pipermail/llvm-announce/2007-Sep...


(Log in to post comments)

LLVM 2.2 released

Posted Feb 13, 2008 19:23 UTC (Wed) by charlieb (subscriber, #23340) [Link]

JC, you might mention what LLVM is in the article teaser. I'd rather not click though every
article (and in this case, click further), just to learn whether I'm interested. Thanks. 

LLVM 2.2 released

Posted Feb 13, 2008 21:20 UTC (Wed) by rpvhillips (guest, #18810) [Link]

Ditto! Ditto!

LLVM 2.2 released

Posted Feb 13, 2008 22:20 UTC (Wed) by daney (subscriber, #24551) [Link]

Just to play devil's advocate, it does say it is an open source compiler.  That seems fairly
descriptive, although I already knew what it was.

LLVM vs. PCC

Posted Feb 14, 2008 2:34 UTC (Thu) by roskegg (subscriber, #105) [Link]

This release announcement looks interesting.  I assumed before that LLVM was an amateur
effort, doomed to whither away once the principal authors left school and got jobs.  I was
looking forward to pcc, the BSD compiler.

I now see that LLVM is a serious contender.  pcc has a lot of activity, and now supports a lot
of platforms and architectures, including sparc64 and the ancient pdp10.  I don't know if LLVM
supports the pdp10, but its support for Fortran and Ada is really eye opening.

Congratulations, LLVM guys.  Your project deserves to be big and popular.  But I like pcc too,
and wish the same for it.  Their next announcement will be a very exciting one, based on
watching the CVS logs.

LLVM vs. PCC

Posted Feb 14, 2008 5:17 UTC (Thu) by JoeBuck (subscriber, #2330) [Link]

LLVM should be taken seriously; it has a large community, including serious professionals as well as some very good university researchers. PCC is mainly of historical interest; it's been revived recently by enthusiasts, but it has much more limited functionality than LLVM has.

isn't apple funding LLVM?

Posted Feb 14, 2008 15:38 UTC (Thu) by pflugstad (subscriber, #224) [Link]

I thought Apple was funding a lot of the LLVM development?  At least
I got that impression.  A little looking around LLVM page indicates
that Apple's using LLVM for their OpenGL engine.  But I thought maybe
they were using it (or looking to use it) for their main system compiler. 

isn't apple funding LLVM?

Posted Feb 14, 2008 21:58 UTC (Thu) by drag (subscriber, #31333) [Link]

Yes. Apple is using LLVM to help speed up software-based OpenGL rendering. For Linux it may be
used with Gallium3D to help provide a software rendering path for future X releases.

LLVM is sophisticated and supports many different languages. It goes beyond compiling code, it
also provides a virtual machine instruction set for languages.. 

Essentially it's a compiler written in C++ and it's license isn't copyleft so it's used by
people that GCC folks have kinda driven away with making it nearly impossible to have
(supportable) separate front-ends and such things.

isn't apple funding LLVM?

Posted Feb 15, 2008 21:44 UTC (Fri) by nix (subscriber, #2304) [Link]

Um, there are quite a few of the same people working on GCC *and* LLVM. :)

LLVM vs. PCC

Posted Feb 14, 2008 16:02 UTC (Thu) by steven97 (guest, #2702) [Link]

The support for Ada and Fortran is not really such a significant achievement of the LLVM
folks.

Once you can translate the GIMPLE that GCC's C front end generates into LLVM, you can
basically support any language for which there is a GCC front end.  

For Fortran and Ada, LLVM just uses (or, IMHO, abuses ;-) GCC front ends again.

LLVM 2.2 released

Posted Feb 14, 2008 17:04 UTC (Thu) by paragw (subscriber, #45306) [Link]

Hmm - LLVM2.2 seems to generate fatter code than gcc 4.1.2. Just tried compiling ZeroC ICE
(http://zeroc.com) and here are the differences in sizes -

$ size  libIce.so.3.2.1 # llvm-gcc4.2.1
   text    data     bss     dec     hex filename
2565112  191574    2876 2759562  2a1b8a libIce.so.3.2.1
$ size  /usr/lib/libIce.so.3.2.1 #gcc 4.1.2
   text    data     bss     dec     hex filename
2082902   44428    1784 2129114  207cda /usr/lib/libIce.so.3.2.1

There doesn't seem to be any static/dynamic linking difference either.

Is it that fatter code isn't necessarily bad - I would assume the smaller the code size the
better for general purpose apps?


LLVM 2.2 released

Posted Feb 14, 2008 20:33 UTC (Thu) by aleXXX (subscriber, #2742) [Link]

data and bss also differ ?
How can they depend on optimizations ?

Alex

LLVM 2.2 released

Posted Feb 14, 2008 21:22 UTC (Thu) by paragw (subscriber, #45306) [Link]

Not sure what you meant - but those differences stem from same source code compiled with same
optimization settings (-O2) - fatter code with llvm-gcc-4.2 and thinner one with gcc-4.1.2.
ldd shows the dynamic dependencies are same on both - so my suspicion that llvm-gcc somehow
stuffed in some static code does not hold true.

LLVM 2.2 released

Posted Feb 15, 2008 0:18 UTC (Fri) by aleXXX (subscriber, #2742) [Link]

The compiled code is in text, data and bss are basically only variables, 
so I wonder why they change.
Maybe other versions of libraries (libgcc or some equivalent) ?
Or some other default flags ?

Alex

LLVM 2.2 released

Posted Feb 15, 2008 6:27 UTC (Fri) by paragw (subscriber, #45306) [Link]

No differences in flags - llvm was literally used as a gcc/g++ replacement and the software
that was compiled doesn't recognize anything apart from gcc/g++ on Linux to be able to vary
the flags depending on the compiler. 

But yeah the significant change in data/bss is weird - it's not limited to one .so though
-every generated .so shows this same pattern. May be it's stuffing in some static stuff but I
wonder why since the dynamic dependencies are exact same for both gcc generated and llvm
generated libraries.

I guess I will have to check with the LLVM folks as to what's going on - their site says LLVM
does not yet optimize for code - just for performance which may explain .text size increase
but still need to find out what's up with data/bss.

LLVM 2.2 released

Posted Feb 15, 2008 21:42 UTC (Fri) by nix (subscriber, #2304) [Link]

Alignment differences, maybe? (That could explain a lot of the code size 
change, too.)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds