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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Wayland's Weston Gets Output Scaling Support
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Intel Ultrabook Performance Is Faster With Mesa 9.2
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira" Released
  7. New Intel X.Org Driver Supports All Of Haswell
  8. SQLite Now Faster With Memory Mapped I/O
  9. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  10. Qt For Tizen Launches, Based On Qt 5.1
  11. KTAP Released For Linux Kernel Dynamic Tracing
Latest Forum Talk
  1. Microsoft Releases Skype For Linux 4.2, Has...
  2. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  3. Intel Linux OpenGL Driver Leading Over Apple OS X
  4. Using Six Monitors With AMD's Open-Source Linux...
  5. Humble Indie Bundle Finally Sells Out
  6. Wayland's Weston Gets Output Scaling Support
  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