IBM XL C++
|This article relies too much on references to primary sources. (December 2011)|
|Stable release||13.1.1 / December 2014|
|Operating system||Cross-platform: Linux, AIX, Blue Gene/Q, z/OS, z/VM|
XL C/C++ is the name of the proprietary optimizing C/C++ compiler developed for IBM-supported environments.
The XL compilers are built from modularized components consisting of front ends (for different programming languages), a platform agnostic high level optimizer, and platform-specific low-level optimizers/code generators to target specific hardware and operating systems. The XL C/C++ compilers target the POWER, BlueGene/Q, and zSeries hardware architectures.
A common high level optimizer across the POWER and z/OS XL C/C++ compilers optimizes the source program using platform-agnostic optimizations such as inter-procedural analysis, profile-directed feedback, and loop and vector optimizations.
A low-level optimizer on each platform performs function-level optimizations, and generates optimized code for a specific operating system and hardware platform.
The particular optimizations performed for any given compilation depend upon the optimization level chosen under option control (O2 to O5) along with any other optimization-related options, such as those for interprocedural analysis or loop optimizations.
The XL compilers on AIX have delivered leadership scores in the SPEC CPU2000 and CPU2006 benchmarks, in combination with specific IBM POWER system processor announcements, for example CPU2006 Floating Point score of 71.5 in May 2010 and SPEC CPU2000 Floating Point score of 4051 in August 2006.
Current (2014) versions of the XL C/C++ compilers support a subset of the C++03 standard on AIX and Linux on Power.
The XL C/C++ compiler for Linux on Power little endian, released in December 2014, is based on the open source CLANG front end (part of the CLANG/LLVM open source project) and therefore provides a higher level of language and GCC compatibility than IBM C/C++ compilers on other platforms, although that support is a subset of what CLANG/LLVM itself supports.
The XL C/C++ compiler family consists of the following products, with most recent version and release dates where known:
- XL C/C++ for z/VM (Version 1.3, December 2011)
- XL C/C++ for z/OS
- XL C/C++ for AIX (Version 13.1, June 2014)
- XL C for AIX (Version 13.1, June 2014)
- XL C/C++ for Linux (Version 13.1.1, December 2014)
- XL C/C++ for Blue Gene/Q (Version 12.1, June 2012)
- XL C/C++ Advanced Edition for Blue Gene (Version 9.0, September 2007, withdrawn August 2009)