[LLVMdev] [DRAFT] Announcement for LLVM 1.6 [DRAFT]

Tzu-Chien Chiu tzuchien.chiu at gmail.com
Wed Nov 2 18:24:45 PST 2005


The vector LLVA extension will not be merged into the 1.6 release branch?

It will make me have to merge twice: one for 1.6 and one for vector LLVA.

When do you plan to merge the vector LLVA to the main trunk, please?


On 26/10/05, Chris Lattner <sabre at nondot.org> wrote:
>
> Hi All,
>
> I'm putting together the announcement for the LLVM 1.6 release.  Here is
> what I have so far.  Because so much has been done, it is very likely that
> I have forgotten something.  If you have done something that is not on the
> list, please send me a private email so I can add it (also, please tell
> me if I've made a mistake or miscredited something)!
>
> My next project is to start hacking on the release notes.  I would
> appreciate it if people could look into the documentation and let us know
> about (or fix!) anything that is out of date, misleading, or could be
> improved.
>
> I believe we are still on track to start rolling the release next monday
> (Oct 31), which makes the likely 'official' release to be about a week
> from then.  Once the release is officially out, it would be great to get
> help making binary distros for additional platforms (e.g. Cygwin) and for
> packages to be built (e.g. for the various Linux distros).
>
> Thanks all!
>
> -Chris
>
> ----------------- 8< ----------------- 8< --------------------
>
> Insert high-level description/overview blurb here :)
> Themes: Major code generator work.  New excellent performance/stability on
> PPC/darwin.  Going back to 3-month release cycle.  LLVM being used by many
> different people projects, e.g. papers being published.
>
> Major New Features:
>
> X. Reid added guards to the JIT, enabling it to JIT multithreaded code
>     (on systems with pthreads).  Threads support can be disabled by
>     configuring LLVM with the --disable-threads swith.
> X. LLVM includes a new optimization to statically evaluate C++ static
>     variable constructors when they are simple enough.  For example, it can
>     now statically initialize "struct X { int a; X() : a(4) {} } g;".
> X. The Loop Strength Reduction pass is completely rewritten, far more
>     aggressive and enabled by default on most RISC targets.  On PPC, we
>     find that it often speeds up programs from 10-40% depending on the
>     program.
> X. LLVM now includes support for auto-generating large portions of the
>     instruction selectors from target descriptions.  This allows us to
>     write patterns in the target .td file, instead of writing lots of
>     nasty C++ code.  Most of the PowerPC instruction selector is now
>     generated from the PowerPC target description files and other targets
>     are adding support that will be live for LLVM 1.7.
> X. Andrew has dramatically improved the LLVM Alpha backend, to the point
>     where it is now considered fully functional and off the 'beta' list.
>
>
> Major Code Generator Changes:
>
> X. Nate wrote a new component for the backend, a DAG Combiner.  This
>     allows the backend to take advantage of identities and do low-level
>     peephole-style optimizations on the DAG.
> X. Nate added support for a new TargetSubtarget interface, which
>     determines which parts of the target to enable based on the
>     target-triple (e.g., whether to use GAS or Intel asm printers on X86).
> X. Jim Laskey extended sub-target support to include -mcpu and -mattr,
>     allowing the target to think about what to do when particular features
>     are enabled, but allowing the end-user to think about what CPU they
>     have.
> X. Jim also contributed a new light-weight instruction scheduler,
>     available to targets that use DAG-to-DAG instruction selectors.  In
>     this release, the scheduler is fully operational but needs tuning, so
>     it is not enabled by default.
> X. The instruction selector framework now supports DAG-to-DAG instruction
>     selection, where the instruction selector does pattern matching, but
>     no code emission (necessary for scheduling & .td file autogeneration).
>
>
> Other Code Generator Changes:
>
> X. Duraid contributed many improvements to the Itanium backend
>     (details??).
> X. Andrew Lenharth contributed a major change to the varargs support,
>     allowing LLVM to work with targets whose va_list type is a struct.
> X. The instruction framework that debuted in LLVM 1.5 is far more mature
>     and robust, and is able to handle many more strange target features.
> X. Andrew added initial JIT support to the Alpha backend, which can run
>     some simple programs.  It is not fully complete yet though.
> X. Jim Laskey contributed patches to improve the instruction selection in
>     the PowerPC backend, matching more RLWIMI cases for example.
> X. Nate implemented most of the PowerPC DAG-to-DAG instruction selector.
> X. The tblgen tool & code generator now have more assertions and checking,
>     which catch errors early, making it easier to work on the backend.
> X. The default register allocator is now far faster on some testcases,
>     particularly on targets with a large number of registers (e.g. IA64
>     and PPC).
> X. Jim extended tblgen to allow description of subtarget features in the
>     .td files for the target.
> X. There have been several minor improvements to the register allocator to
>     coallesce more aggressively and coallesce spill code with copies more
>     effectively.
>
>
> Miscellaneous Improvements:
>
> X. Andrew added support to the JIT to built a Global Offset Table if
>     needed by a target.
> X. Alexander Friedman improved the .ll file parser to be able to read
>     from a text buffer in addition to a file.
> X. Bryan Turner tried LLVM with Quest, a random testcase generator, and
>     exposed several bugs (which are now fixed).
> X. The llvm-test suite can now use the NAG Fortran to C compiler to compile
>     SPEC FP programs if available (allowing us to test all of SPEC'95 & 2K).
> X. The JIT-debugger mode of bugpoint is now much faster than before.
> X. When bugpoint is grinding away and the user hits ctrl-C, it now
>     gracefully stops and gives what it has reduced so far, instead of
>     giving up completely.
> X. LLVM now includes Xcode project files.
> X. Jim Laskey added bitvector support to the command line option parsing
>     library.  See http://llvm.org/docs/CommandLine.html#bits
> X. We no longer build two versions of most LLVM libraries, which reduces
>     the time required to build LLVM.
> X. Documentation for the code generator is improving, though it is
>     still incomplete: http://llvm.org/docs/CodeGenerator.html
> X. The code produced when exception handling is enabled is far more
>     efficient in some cases, particularly on Mac OS/X.
>
>
> Portability Improvements:
>
> X. Nate added support for Mac OS/X on Intel.
> X. X86 tail calls now work with the JIT and Jeff Cohen added code
>     to support them under Visual C++.
> X. Nate contributed a patch to allow LLVM to build with GCC 4.x, and Reid
>     contributed several cleanup patches to silence GCC 4 warnings.
> X. The llvm-test suite is now fully compatible with Mac OS/X
>     (non-portabilities in the programs have been fixed).
> X. Jeff Cohen contributed portability fixes to build on AMD64.
>
> In addition to the new features and infrastructure we have built, we have
> also fixed many minor bugs in the C/C++ front-end, optimizers, and code
> generator including 54 bugzilla bugs (search for target milestone = 1.6).
> LLVM 1.6 is by far the best release we've had yet!
>
> As usual, if you have any questions or comments about LLVM or any of the
> features in this status update, please feel free to contact the LLVMdev
> mailing list (llvmdev at cs.uiuc.edu)!
>
> Finally, here is the previous status report, the LLVM 1.5 announcement:
> http://lists.cs.uiuc.edu/pipermail/llvm-announce/2005-May/000016.html
>
> -Chris
>
> --
> http://nondot.org/sabre/
> http://llvm.org/
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>


--
Tzu-Chien Chiu - XGI Technology, Inc.
URL: http://www.csie.nctu.edu.tw/~jwchiu/




More information about the llvm-dev mailing list