Only one week has passed since the release of LLVM 2.8, but out today is version 2.8 of DragonEgg. For those out of the loop, DragonEgg is a GCC plug-in for GCC 4.5 and later that replaces the optimizers and code generations from GCC with that of those from the Low-Level Virtual Machine.
Chris Lattner has just announced the release of version 2.8 of LLVM, the Low-Level Virtual Machine. LLVM 2.8 is only being released about six months after the release of LLVM 2.7, but it boasts many notable changes, including the Clang compiler offering feature-complete C++ support against the ISO C++ 1998 and 2003 standards.
While GCC 4.5 has been around since this past April, if you are still living with GCC 4.4 for whatever reason (like being hit with a massive performance regression), you may be pleased to know that on this Sunday afternoon there is the GCC 4.4.5 release that's now available. GCC 4.4.5 was delayed a bit, but it's here and offers up bug-fixes but no major new features.
Yesterday on the mailing list for GCC is was brought up if Apple's Objective-C 2.0 patches for the GNU Compiler Collection could be merged back into the upstream GCC code-base as maintained by the Free Software Foundation. Even though Apple's modified GCC sources still reflect the FSF as the copyright holder and are licensed under the GNU GPLv2+, it doesn't look like Apple wants their compiler work going back upstream any longer.
Just as expected, GCC 4.5.1 was released today thereby meeting their target of releasing this point update to the GNU Compiler Collection prior to August. GCC 4.5.1 targets regressions and other bugs since the release of GCC 4.5.0 in mid-April.
Richard Guenther of Novell has just announced the first release candidate for GCC 4.5.1, which will be the first point release following the April release of GCC 4.5.0.
Zack Rusin has written a new blog post where he compares writing free software graphics drivers to running a crocodile petting zoo and wireless bungee jumping.
Mozilla developers on the GCC mailing list have been expressing what they describe as a "massive performance regression" and "what might be the biggest compiler-upgrade-related performance difference we've seen at Mozilla." The Mozilla developers have upgraded from GCC 4.3 to GCC 4.5, which was released in April, and now they are experiencing massive slowdowns.
The Free Software Foundation and GCC Steering Committee have now decided that it's okay and permitted to write code for the GNU Compiler Collection (GCC) within C++. Up to this point, C has been the preferred language for working on GCC.
CodeSourcery, a company that works on GCC for various companies like with Texas Instruments for bringing the GNU Toolchain to new CPUs and also offers their own software development environment, has shared their intentions to provide a new set of GCC optimizations for Intel's Core 2 and Core i7 processors.
The LLVM compiler infrastructure project has Clang as a compiler front-end to compile C, Objective-C, and C++ programs as an alternative to GCC. However, the Low-Level Virtual Machine is now doing more and replacing bigger portions of the GCC tool-chain with new components. The LLVM project has introduced libc++ as a replacement for the GNU libstdc++ standard library.
This month marked the release of GCC 4.5.0 and LLVM 2.7 with updates to the Clang compiler too, but the month is not over in the free software compiler world. Jakub Jelinek of Red Hat is uploading the GCC 4.4.4 packages right now for its release.
Last week we compared LLVM and Clang against GCC following the release of GCC 4.5 and found the newer compiler infrastructure that's sponsored by Apple to not perform as well as the GNU Compiler Collection in a number of areas at this time, but today LLVM 2.7 is out. Version 2.7 of the Low-Level Virtual Machine brings forward many improvements to both core LLVM itself and the Clang compiler front-end.
Version 4.5 of the GNU Compiler Collection (GCC) was running behind with too many regressions being left open, but only a few weeks ago they cleared their P1 regressions and then put out the GCC 4.5 release candidate. Now, already, GCC 4.5 has been officially released.
GCC 4.5 has been running a bit behind schedule due to outstanding regressions, but last week the last of their highest severity regressions were addressed, which paved the way for a release candidate. Today the release candidate for version 4.5 of the GNU Compiler Collection (GCC) has arrived.
GCC 4.5 was not in a good shape as of the middle of March with it still not being ready due to 16 outstanding P1 regressions, but over the past two weeks, developers have feverishly been fixing these bugs and the count is now down to zero. For P2 regressions, 17 of them have been fixed too over this time span, which brings the second-tier bugs down to a count of 81. There is also one new P3 regression bringing its count to three.
GCC 4.4.0 was released nearly a year ago, but it looks like its one-year anniversary may pass without a new major release of the GNU Compiler Collection. GCC 4.5 was not yet branched back in January due to outstanding P1 regressions, which is also blocking any release candidates from being made available. Now in March there are 16 regressions of P1 status still outstanding.
The Clang compiler that provides a C/Object-C/C++ compiler atop the Low-Level Virtual Machine (LLVM) is now self-hosting, which means Clang can now be used to compile itself. The LLVM developers reached this important milestone where LLVM/Clang can now be used to build Clang with working resulting binaries that can even go on to build another copy of Clang as well.
In early December we passed along a GCC 4.5 status update in which there were still 26 P1 regressions (the highest priority), 93 P2 regressions, and four P3 regressions. Red Hat's Jakub Jelinek has published a new GCC 4.5 status update on the GCC mailing list. As of today there are now only 18 regressions of P1 severity, 84 regressions of P2, and there's now nine P3 regressions.
Novell's Richard Guenther has issued a GCC 4.5 status report this morning as yesterday this next major version of the GNU Compiler Collection had left "Stage 3" and is now entering a period in which only regression fixes and documentation work will take place.
Version 2.6 of LLVM, the Low-Level Virtual Machine, has been released. This modular compiler infrastructure, which can replace many parts of the GNU Compiler Collection and go far beyond the conventional roles as a code compiler such as being used within Apple's Mac OS X OpenGL implementation for providing optimizations and is similarly going to be used within Gallium3D, has taken a major leap forward with the 2.6 release.
Finally we have a stable, official release of GCC 4.4. This major update to the GNU Compiler Collection brings forth Graphite, which is a framework for providing loop optimizations and eventually will be used to provide automatic parallelization support. While still experimental, there is also improved support for C++0x, new compiler improvements, and various language-specific enhancements.
If you are into compilers and have not already tried out the latest bits from GCC 4.4, you may want to give the GCC 4.4.0 Release Candidate 1 a whirl. GCC 4.4.0 RC1 was tar'ed up yesterday and is now ready for testing.
Intel contributes quite a bit to the development of X.Org and the Linux kernel, through a number of Intel employees working on Linux full-time, making hardware contributions, etc. Up until recently, Intel even had its own Linux distribution (Moblin) for their Atom hardware. One area, however, where Intel has not been a major contributor is with the GNU Compiler Collection (GCC) considering they have long preferred their own high-performance Intel Compiler (ICC). That's not to say Intel hasn't made any contributions towards this critical piece of free software, but AMD and others have been more involved with GCC while Intel worked on its non-free ICC package. It looks though like things could be changing.
IBM's Razya Ladelsky today outlined plans for providing automatic parallelization support within the GNU Compiler Collection. The Graphite Framework, which provides high-level loop optimizations based upon the polyhedral model, was merged for the forthcoming release of GCC 4.4 and it will be used eventually to provide some level of automatic parallelization support. Graphite will be combined with autopar, which is an automatic parallelization code generator based upon GOMP that in turn implements OpenMP.
The LLVM (Low-Level Virtual Machine) still isn't a big competitor to GCC since the Clang compiler front-end remains unfinished, but the LLVM folks have issued a version 2.5 release. LLVM 2.5 is made up of a bunch of bug fixes, a new XCore back-end, performance improvements (in the compiler and its generated code), new development documentation, and plenty more new work.
In early December the OpenCL specification was unveiled, which is an open framework initially conceived by Apple for extending the power of graphics processors to better handle GPGPU computing in a unified way. Both ATI/AMD and NVIDIA are working on bringing Open Computing Language support to their proprietary Linux drivers, while nothing has yet to be started on the open-source side to integrate the support within Mesa. Though as OpenCL consists of a C99-based language for programming, what's the status on the compiler front?
It's been just under three months since GCC 4.3.0 was released with support for Intel's SSE4.1/SSE4.2 instruction sets and experiment C++0x support, and now there is GCC 4.3.1. The GCC 4.3.1 release fixes a number of regressions and other bugs, which are all laid out within the GCC BugZilla. The release announcement was made on the GNU mailing list.
GCC 4.2.0 was released less than a year ago, but arriving yesterday was the release of GCC 4.3.0. Version 4.3.0 of the GNU Compiler Collection has its middle-end integrated with the MPFR math library, experimental support for the forthcoming C++0x ISO standard, GCJ now uses the Eclipse Java Compiler for Java parsing, all Java 1.5 language features now supported by both the compiler and at run-time, and new GCJ Java tools. GCC 4.3.0 also has performance tuning for the Intel Core 2 and AMD Geode processors. In addition, there is now support for Intel's SSE4.1, and SSE4.2 instruction sets. There are many more changes, so be sure to check out the GCC 4.3 change-log. The release announcement on the GNU mailing list provides additional details.
Continuing in the GCC 4.2 series is the release of GCC 4.2.2. GCC 4.2.2 contains changes and other fixes since GCC 4.2.1. As was mentioned in the GCC 4.2.1 announcement, all future releases would be under version 3 of the GNU General Public License. With that said, GCC 4.2.2 is now GPLv3 software. The official announcement hasn't yet come down the gcc-announce wire, but it should come shortly seeing as their slated release date was October 7.
632 Compiler news articles published on Phoronix.