IBM XL C/C++ Compilers

From Wikipedia, the free encyclopedia
  (Redirected from IBM XL C++)
Jump to navigation Jump to search
XL C/C++ Compilers
Stable release
16.1.1 (Linux on Power for little-endian distributions) / December 2018 (Linux on Power)
Operating systemCross-platform: Linux (POWER and z architectures), AIX, Blue Gene/Q, z/OS, and z/VM
Available inMultilingual
TypeSoftware development

XL C/C++ is the name of IBM's proprietary optimizing C/C++ compiler for IBM-supported environments.


The IBM 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 POWER, BlueGene/Q, and z Systems hardware architectures.

A common high level optimizer across the POWER and z/OS XL C/C++[1] 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.

A 60-day installable evaluation version is available for download for the AIX,[2] Linux on Power,[3] and Linux on z[4] compilers. In June 2016, IBM introduced XL C/C++ for Linux Community Edition which is free of charge. It can be downloaded.[5]

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 SPEC CPU2006 Floating Point[6] score of 71.5 in May 2010 and [7] score of 4051 in August 2006.

Current (2016) versions of the XL C/C++ compilers support a subset of the C++03 standard on AIX; while XL C/C++ for Linux (Power) v13.1.3 supports C++11.

The XL C/C++ compiler for Linux on Power little endian edition, 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 z/OS XL C/C++ compiler exploits the latest IBM Z® systems, including the latest IBM z14® servers. It enables development of high-performing business applications and system programs on z/OS, while maximizing hardware use and improving application performance. IBM z/OS XL C/C++ uses services provided by the z/OS Language Environment® and Runtime Library Extensions base elements. It supports embedded CICS® and SQL statements in C/C++ source, which simplifies the operation of C/C++ within CICS and DB2® environments. It works in concert with IBM Application Delivery Foundation for z Systems® family of products.

IBM XL C/C++ V2.3.1 for z/OS® V2.3 web deliverable is the latest offering from the IBM XL C/C++ compiler family, which provides new C and C++ compilers that adopt the Clang infrastructure from the LLVM open source community for a portion of the compilers. z/OS XL C/C++ V2.3.1 is designed to aid in porting code from other platforms to z/OS and to give a more familiar view to developers who are accustomed to a UNIX environment. IBM XL C/C++ V2.3.1 for z/OS V2.3 provides support for the core C11 standard and most of the C++11 standard features for easier application migration to IBM Z® servers.


The XL C/C++ compiler family consists of the following products, with most recent version and release dates where known:

  • XL C/C++ for AIX (Version 13.1.3, December 2015)
  • XL C for AIX (Version 13.1.3, December 2015)
  • XL C/C++ for Linux on Power for little-endian distributions (Version 16.1, April 2018)
  • XL C/C++ for Linux on Power for big-endian distributions (Version 13.1, June 2014)
  • z/OS XL C/C++ (Version 2.3.1, March 2019)
  • z/OS XL C/C++ (Version 2.3, September 2017)
  • z/OS XL C/C++ (Version 2.2, September 2015)
  • XL C/C++ for z/VM (Version 1.3, December 2011)
  • XL C/C++ for Linux on z Systems (Version 1.1, January 2015)
  • 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)

See also[edit]


External links[edit]