1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

The Best Features Of LLVM / Clang 3.3

Compiler

Published on 26 May 2013 01:16 PM EDT
Written by Michael Larabel in Compiler
4 Comments

With next month's release of LLVM 3.3 quickly approaching, here's an overview of some of the best and most exciting features coming to this next major update of the LLVM compiler infrastructure and Clang C/C++ compiler front-end.

Some of our favorite features coming to LLVM 3.3 include:

- Exciting many Phoronix readers will be the final integration of the AMD R600 GPU LLVM back-end. This LLVM back-end that's needed for Radeon Gallium3D Compute/OpenCL along with RadeonSI acceleration is finally found in a mainline LLVM release! In recent months this AMD GPU back-end has received a lot of improvements from scheduler support and other new functionality.

- 64-bit ARM support. The 64-bit ARM / ARM64 / AArch64 support came after it was already brought to GCC, but now this next-generation ARM architecture has an LLVM back-end. ARM continues to grow in presence and 64-bit ARMv8 hardware should better compete against Intel/AMD x86 CPUs. With the new AArch64 target, there's C99 and C++03 support through Clang, Linux is currently the only platform target, and there's other basic functionality implemented at this time. Expect more AArch64 goodness to come in the next LLVM release.

- There's a new vectorizer! LLVM 3.3 brings forth the Superword-Level Parallelism (SLP) Vectorizer. There's already been some Phoronix benchmarks of the SLP vectorizer to mixed success. This new vectorizer is currently disabled by default. The SLP Vectorizer will be refined in future releases.

- LLVM's Loop Vectorizer has seen many improvements and is now enabled by default with the -O3 compiler switch. The 3.3 Loop Vectorizer improvements include being able to vectorize loops with unknown trip counts, runtime checks of pointers, if conversions, reverse iterators, vectorization of mixed types, vectorization of function calls, and much more. With this code vectorizer now being enabled by default, it's one of the reasons why for some workloads LLVM 3.3 is now much faster than LLVM 3.2.

- The Clang C/C++ compiler front-end is now C++11 feature-complete. GCC is also now effectively C++11 complete too, which is good news for developers wishing to take advantage of the latest C++ ISO standard. There's also already much work done on C++1y, the next revision to the standard.

- New CPU micro-architecture enhancements like better AVX2 support.

For benchmarks of LLVM/Clang 3.3, see this weekend's GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance Three-Way from a Core i7 Sandy Bridge Extreme Edition, AMD FX-8350 Vishera, and Core i3 Ivy Bridge Ultrabook.

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Trying Out Radeon R9 290 Graphics On Open-Source
  2. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  3. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  4. Red Hat Releases Its RHEL 7 Release Candidate
  5. New Features Coming To Xubuntu 14.04 LTS
  6. NVIDIA Officially Releases CUDA 6
  7. Google Releases An AutoFDO Converter For Perf In LLVM
  8. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  9. Star Citizen Will Be Coming To Linux
  10. Ubuntu 14.10 Convergence To Focus On Replacing Core Apps
  11. The Results Of Optimizing Radeon's VRAM Behavior
  12. Kernel Developers Discuss Improving Kernel Configurations
Latest Forum Discussions
  1. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  2. The GNOME Foundation Is Running Short On Money
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel