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

Why IBM Now Views LLVM As Being Critical Software

Hardware

Published on 07 May 2013 08:49 AM EDT
Written by Michael Larabel in Hardware
18 Comments

It wasn't until the middle of 2012 that IBM viewed LLVM as being "critical" to support but since then they have decided to fully support LLVM across all IBM server platforms. Last week in Paris at the European LLVM Meeting, one of their developers talked about the tipping point in supporting LLVM on IBM hardware and their current development status.

Ulrich Weigand of IBM was the compiler developer talking at the European LLVM Meeting in France last week. Weigand said until recently LLVM wasn't viewed as critical for enterprise Linux platforms and IBM's Linux Technology Center wasn't interested in fully supporting a second toolchain (after GCC), but then last year they decided to support LLVM across IBM server platforms. IBM LLVM support comes in the form of improvements to the 64-bit PowerPC back-end for their IBM POWER servers and creating a new SystemZ back-end for their mainframe systems.

One of the important LLVM uses that sparked IBM's attention was LLVM beginning to be adopted for a Just-In-Time (JIT) engine. LLVM is now widely used when it comes to Mesa's LLVMpipe Gallium3D driver as a software fall-back in cases of no hardware acceleration. With the latest GNOME release requiring 3D graphics or to use LLVMpipe, enterprise Linux distributions (RHEL) will soon require this LLVM support. There's also "certain proprietary database applications" using LLVM JIT for compiling SQL stored procedures. Beyond that, Mono and plenty of other projects are also using LLVM JIT.

Another main reason for IBM gaining interest in LLVM is that it's become a customer requirement and there's interesting LLVM/Clang advantages. Among the mentioned advantages were Address Sanitizer and Thread Sanitizer and Clang's better error messages over GCC. "Overall: LLVM support seen as critical now."

With LLVM now being critical to IBM, developers have made various improvements and fixes to the PowerPC back-end. IBM has also contributed PowerPC build bots for testing the latest LLVM code. New features provided to the back-end is improved code generation with compile-time PowerPC long double support, fully-implemented TLS support, medium/large code model support, and some Altivec enhancements. There's also been 64-bit MCJIT support, Assembler parser support, and disassembler support.

Some of the future work IBM has planned for the LLVM PowerPC back-end includes improved ISB support for current processors, performance tuning with instruction scheduling and benchmark analysis, and potential 32-bit improvements.

The other back-end IBM has been working on is for SystemZ. As luck would have it, just yesterday Clang SystemZ support was merged. Years ago there was a SystemZ back-end but it was dropped in 2011 over lack of maintenance. This new back-end is somewhat based on the old back-end and supports the 64-bit z/Architecture, support for Z10 processors and newer, Linux OS support, and focuses on features and correctness over performance.

The LLVM SystemZ back-end now works with support for the Clang C/C++ compiler, integrated assembler, assembler parser, and MCJIT. Right now LLVM is performing about 15% worse than GCC for SystemZ and about 7% worse for PowerPC, which are areas that will warrant further investigation. In comparing LLVM and GCC, Ulrich Weigand noted there's many similarities but LLVM seems more flexible for handling target-specific passes and overriding common passes.

For those that weren't in attendance at the 2013 European LLVM Meeting, there's PDF slides and a MOV video.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Rosewill RS-MI-01: An Ultra Low-Cost Mini-ITX Chassis
  2. D-Link DCS-2330L HD Wireless Network Camera
  3. Gigabyte AM1M-S2H
  4. AMD's New Athlon/Semprons Give Old Phenom CPUs A Big Run For The Money
Latest Linux Articles
  1. AMD Catalyst 14.4 Brings Few Linux Performance Improvements
  2. The Performance Of Fedora 20 Updated
  3. Clang Fights GCC On AMD's Athlon AM1 APU With Jaguar Cores
  4. Ubuntu 14.04 LTS vs. Oracle Linux vs. CentOS vs. openSUSE
Latest Linux News
  1. Fedora 21 To Get A Playground, New Features
  2. PC-BSD Is Developing Its Own Desktop Environment
  3. Valve Is Bringing VOGL To Windows & Working On Regression Tests
  4. Canonical Is Taking Over Linux 3.13 Kernel Maintenance
  5. Google Web Designer Is Now Natively Available On Linux
  6. Ubuntu 14.10 Is Codenamed The Utopic Unicorn
  7. Audacious 3.5 Lightweight Audio Player Released
  8. Steam Updated For Ubuntu 14.04 LTS, SteamOS
  9. DNF 0.5 Yum Replacement Now Supports Groups
  10. Red Hat Enterprise Linux 7.0 Is Looking Fantastic
  11. Intel Is Launching An Interesting Bay Trail NUC Next Week
  12. Another X.Org EVoC Proposed For OpenGL 4+ Tests
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. The Most Amazing OpenGL Tech Demo In 64kb
  4. Announcing radeontop, a tool for viewing the GPU usage
  5. HTPC-upgrade advice: AMD Richland A8-7600 or Kaveri A10-6700T ???
  6. New card. Open source drivers only.
  7. Script for Fan Speed Control
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel