Another one of the interesting presentations from the LF Collaboration Summit this week in San Francisco was covering the improvements made to GCC 4.7, which is the latest GNU compiler update with several new features for developers.
At this week's invite-only event
Qualcomm was highlighting LLVM and Clang as a great compiler infrastructure and shared their ambitions to build the mainline Linux kernel for ARM with LLVM/Clang, while Oracle's Paolo Carlini was covering GNU Compiler Collection 4.7 and C++11.
Below are some of the key notes from Carlini's slides regarding GCC 4.7, below which are the slides themselves.
- "A lot happened over the last year to implement more
C++11 features"
- General optimizer improvements and LTO much improved for large programs (Firefox was cited as an LTO example, but
with GCC 4.7 the Linux kernel can now be link-time optimized).
- Various back-end changes like AVX2 (Advanced Vector Extensions 2) support (read
Compilers Mature For Intel Sandy/Ivy Bridge, Prep For Haswell).
- Improvements for other operating systems besides Linux.
- OpenMP 3.1 support can be found in GCC 4.7 (there's still
not yet any OpenMP support in LLVM/Clang).
- Diagnostic improvements are found in this new GNU Compiler Collection.
- New C++ features.
There's also some performance improvements, as covered by
Intel Sandy Bridge Shapes Up On GCC 4.7 Compiler,
Benchmarks Of GCC 4.2 Through GCC 4.7 Compilers, and this morning's
GCC 4.7 Compiler Performance On AMD FX-8150 Bulldozer.







There's also the slides in PDF form available
here. Additionally, at the same session, Torvald Riegel of Red Hat talked about GCC and transactional memory. Those transactional memory slides are
here.