It's a few days late, but LLVM 3.2 has been officially released.
In preparing for the imminent release of LLVM 3.2, another worthwhile feature to go over is the NVPTX back-end that's been merged for this forthcoming open-source compiler infrastructure release. The NVPTX LLVM back-end is what's used by NVIDIA's closed-source driver for its CUDA and OpenCL compiler.
The soon-to-be-released LLVM 3.2 compiler infrastructure will expand upon its coverage of processor support and CPU capabilities.
Premiering with LLVM 3.2, which will debut later this month, is an automatic loop vectorizer. I've already delivered benchmarks of LLVM's new automatic loop vectorizer, but here's more details on this new LLVM compiler feature.
The videos from last month's LLVM Developers' Meeting in San Jose, California have now been uploaded to the Internet.
An Intel developer has proposed a migration tool based upon LLVM's Clang tooling library to auto-convert C++ code to take advantage of new C++11 features in an automated manner.
While an open industry standard, the leading open-source compilers still lack support for the OpenACC parallel programming standard.
To complement the recent compiler benchmarking on the ARM Cortex-A15 as found in the Samsung Exynos 5 Dual with the Samsung Chromebook, here's some compiler tuning benchmark results from the speedy low-power ARM system.
A software research project being funded by the United States' Defense Advanced Research Projects Agency (DARPA) with its Cyber Fast Track program is looking at ways for providing a flexible and integrated security infrastructure by using LLVM for dynamic and static security tasks.
The second release candidates of LLVM 3.2 -- along with related components like Clang and DragonEgg -- are now available for testing.
While born originally at Google as projects for LLVM, AddressSanitizer and ThreadSanitizer have been ported to GCC and will be part of the forthcoming GCC 4.8 compiler release. Back at Google, they're onto developing MemorySanitizer for LLVM.
Clang UPC has been announced, which is a Unified Parallel C implementation targeting the LLVM/Clang compiler stack. Unified Parallel C is a C99 extension targeting high-performance computing on parallel machines.
The LLVM compiler infrastructure is frequently talked about on Phoronix whether it be about its Clang C/C++ compiler or one of the innovative use-cases for LLVM such as with the LLVMpipe Gallium3D driver or as a JIT engine within some free software projects like Mono. However, for those that don't understand much of the internals of LLVM, here's a brief overview.
There's just a few weeks to go until the release of LLVM 3.2, but AMD is still trying to get its "R600" GPU back-end merged into this next compiler infrastructure release.
In addition to featuring an auto-vectorizer, Polly optimizations, and countless other improvements, the forthcoming release of LLVM 3.2 brings numerous improvements to its PowerPC back-end.
Another interesting session from this month's LLVM Developers' Meeting in San Jose was about how Google manages to collect and utilize Clang diagnostics internally for software they develop at the company.
ARM's AArch64 back-end for LLVM to handle the 64-bit ARMv8 architecture is working, but there's still more work ahead of the hardware's general availability in about one year's time.
While the LLVM compiler infrastructure is primarily developed around Subversion, a poll was recently conducted that found LLVM developers overwhelmingly prefer Git over SVN for version control.
Earlier this week when writing about the state of the Tiny C Compiler, I learned more about QCC. QCC is a new initiative to pair a forked version of the Tiny C Compiler (TCC) with QEMU's code generator.
Aside from why LLVM/Clang was ported to one of the fastest super computer's in the world and using Clang to implement Microsoft's C++ AMP, another interesting session at this month's LLVM Developers' Conference in San Jose was about using Clang to analyze code comments.
Most often whenever writing about LLVM and its Clang C/C++ compiler front-end on Phoronix, within the forums is a flurry of comments from those in support of and against this modular compiler infrastructure. Some are against LLVM/Clang simply because its BSD-licensed and sponsored by Apple rather than the GPLv3-licensed GCC backed by the FSF. Others, meanwhile, see LLVM as presenting unique advantages and benefits. What reasons would a leading US national laboratory have for deploying LLVM/Clang to their leading super-computer? Here's an explanation from them.
Microsoft conceived C++ Accelerated Massive Parallelism (AMP) as a library atop DirectX 11 for offering data-parallelism directly in C++ that can make easy use of GPUs while having CPU fall-back support. With C++ AMP being similar to OpenCL, Intel engineers decided to implement the Microsoft specification within OpenCL and using LLVM/Clang so that it can be used cross-platform.
While the Tiny C Compiler may be quick at compiling code, the lightweight C compiler hasn't been too quick to advance with new releases and features.
The first release candidate of the LLVM 3.2 compiler infrastructure along with the Clang C/C++ front-end compiler is now available.
The GCC 4.8 compiler when released in early 2013 will have a number of new optimizations.
At Chris Lattner's keynote for the LLVM Developers' Conference that took place last week in California, he called for more "code owners" within the LLVM code-base.
The components making up LLVM 3.2 were all branched last night in preparation for an official release in December.
After talking about FreeBSD's transition to Clang as the default C/C++ compiler rather than GCC, the move has finally happened where for x86/x86_64 systems the LLVM-based compiler has replaced GCC.
GCC 4.8 has reached the end of new development activity.
GCC developers have brought up the topic of tagging a GCC 5.0 release soon based upon recent changes.
660 Compiler news articles published on Phoronix.