LLVM 3.1 Branched For May Feature Release

Posted by Michael Larabel on April 17, 2012

Apple's Bill Wendling announced the branching of the LLVM 3.1 code-base over last night as the open-source developers prepare to release the LLVM 3.1 compiler infrastructure (and Clang 3.1) next month.

At this point the LLVM 3.1 branch is only for bug-fixes after patches have received the approval of their code owners. Wendling announced the branching on the llvmdev mailing list. The LLVM 3.1 official release is expected to happen on 14 May, following the wrap-up of two test phases.

Below are a few of the features that developers can look forward to with LLVM 3.1.

- Improved support for AVX1 to benefit Intel Sandy Bridge and Ivy Bridge processors (along with AMD Bulldozer) and there's initial support for AVX2 with Intel Haswell CPUs. I have posted some new LLVM/Clang 3.1 benchmarks on Sandy Bridge while some new AMD Bulldozer and Intel Ivy Bridge benchmarks under Linux are forthcoming.

- Polly has now become an official LLVM project and can be loaded directly into Clang. Polly is an experimental optimizer for data locality and parallelism with high-level loop optimizations and automatic parallelization. The automatic parallelization uses the OpenMP run-time but still LLVM/Clang doesn't have proper OpenMP support yet. There's also an automatic scheduling optimizer that was derived from the Pluto compiler.

- IR support for half-float.

- A new basic-block auto-vectorization pass.

- Under Mac OS X / Darwin the ARM code generation target now has a "full-featured" integrated assembler.

Those are some of the features to LLVM 3.1, a more exhaustive list will come closer to the mid-May release of this GCC alternative. LLVM 3.1 will succeed LLVM 3.0, which was released this past December. Sadly not finding its way into the 3.1 release is the Radeon R600 LLVM back-end.

LLVM/Clang 3.1 has to compete with the recently-released GCC 4.7. Expect more LLVM benchmarks soon. There's also going to be a new Linux compiler roundabout with GCC, LLVM/Clang, DragonEgg, Open64, and EKOPath as well.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Ubuntu Announces Carrier Advisory Group
  2. Qt 5.1 Release Candidate 1 Has Arrived
  3. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  4. Subversion 1.8 Presents New Features
  5. LLVM 3.3 Officially Released
  6. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  7. Intel GPU Driver Tries To Rip Out FBDEV Support
  8. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  9. VP9 Codec Now Enabled By Default In Chrome
  10. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  11. Debian 7.1 Rounds In Some Bug-Fixes
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Ubuntu Announces Carrier Advisory Group
  3. Vote for GOG to add Linux versions of games they...
  4. Intel Haswell HD Graphics 4600 vs. AMD Radeon...
  5. Intel GPU Driver Tries To Rip Out FBDEV Support
  6. Mir Still Causing Concerns By Ubuntu Derivatives
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite