IBM XL C/C++ Compilers
| Company type | Software |
|---|---|
| Industry | Software development, Compilers |
| Founder | IBM |
| Headquarters | Armonk , United States |
| Products | XL C/C++ compiler suite, Open XL C/C++ |
| Owner | IBM |
| Website | https://www.ibm.com/products/xl-cpp-compiler |
XL C/C++ denotes IBM's exclusive set of optimizing compilers tailored for the C and C++ programming languages, specifically crafted for platforms supported by IBM.
Compiler
The IBM XL compiler suite is constructed from modular elements, including language-specific front ends, a universal high-level optimizer independent of platform, and low-level optimizers or code generators customized for architectures such as POWER, BlueGene/Q, and IBM Z.
Optimization
A unified high-level optimizer is utilized by the POWER and z/OS XL C/C++ compilers to perform optimizations that are not platform-dependent, including interprocedural analysis, profile-directed feedback, as well as loop and vector enhancements. The low-level optimizers are specialized to produce machine code optimized for the specific operating system and hardware environment.
Users can adjust optimization intensity through levels ranging from O2 to O5, which govern features like interprocedural analysis and loop optimization. On the AIX platform, XL compilers recorded a SPEC CPU2006 Floating Point benchmark of 71.5 (as of May 2010) and a SPEC CPU2000 Floating Point benchmark of 4051 (as of August 2006).
IBM i
The XL compiler variant for IBM i (known as ixlc) provided support for C++98 and partial compatibility with C++11 standards via a qsh command-line interface based on CRTCPPMOD/CRTPGM commands. This particular compiler was discontinued in 2011.
IBM AIX and Linux on Power
The latest releases of XL C/C++ for AIX on Power (version 17.1.1) and XL C/C++ for Linux on Power (version 17.1.1) incorporate the open-source Clang front end derived from the Clang/LLVM project. Specifically, XL C/C++ for AIX 17.1.0 integrates LLVM Clang version 13. Both compilers provide support for C11, C++03, C++11, and C++14 standards. While the Linux on Power edition supports at least C++17, some library components beyond C++14 might not be available on AIX.
Licensing
In June 2016, IBM introduced the XL C/C++ for Linux Community Edition—a fully functional version offered at no cost with unlimited production usage rights.
With the release of XL C/C++ for AIX 16.1 and XL Fortran for AIX 16.1, IBM adopted a monthly subscription pricing approach designed to improve cloud deployment flexibility; this includes Software Subscription and Support services. Additionally, IBM Open XL compilers provide monthly licenses priced per Virtual Processor Core alongside conventional user-based licensing models such as Authorized and Concurrent user licenses.
IBM Z
The z/OS XL C/C++ compiler is engineered to harness IBM Z® hardware capabilities to create high-performance enterprise applications running on z/OS, enhancing both hardware efficiency and application responsiveness. It integrates seamlessly with z/OS Language Environment® and Runtime Library Extensions, supporting embedded CICS® and SQL statements to facilitate streamlined processing within CICS and Db2® systems. Furthermore, this compiler complements the IBM Application Delivery Foundation for z/OS.
IBM® Open XL C/C++ 1.1 for z/OS®, built entirely upon open-source LLVM technology, supports language standards up to C17/C18 and C++17. It takes advantage of features available in IBM z16™ mainframes, making it well-suited for z/OS UNIX System Services users migrating applications from distributed environments. Open XL C/C++ 1.1 is offered as a complimentary add-on for customers who have enabled z/OS XL C/C++ on z/OS versions 2.4 or 2.5.
Products
The XL C/C++ and Open XL C/C++ compiler suites comprise the following offerings:
- Open XL C/C++ for z/OS (version 1.1, released May 2022)
- Open XL C/C++ for AIX on Power (version 17.1.1, November 2022)
- Open XL C/C++ for Linux on Power (version 17.1.1, August 2022)
- XL C for AIX (version 13.1.3, December 2015)
- XL C/C++ 2.4.1 tailored for z/OS 2.4 (December 2019)
- z/OS XL C/C++ (version 2.4, September 2019)
- XL C/C++ designed for z/VM (version 1.3, December 2011)
- XL C/C++ for Linux on IBM Z systems (version 1.2, 2016)
- XL C/C++ targeting Blue Gene/Q (version 12.1, June 2012)
- XL C/C++ Advanced Edition for Blue Gene (version 9.0, September 2007; discontinued August 2009)
See also
- IBM VisualAge – an earlier related product
- List of compilers
External links
- Official documentation: Open XL C/C++ for AIX version 17.1.0
- Official documentation: XL C/C++ for Linux version 16.1.1
- Official documentation: XL C/C++ for AIX version 16.1
- Official documentation: XL C for AIX version 13.1.3
- Official documentation: Open XL C/C++ for z/OS version 1.1
- Official documentation: z/OS XL C/C++ version 2.4
- Product page: z/OS XL C/C++
- IBM Community: C/C++ and Fortran compilers on Power® platforms
- IBM Community: C/C++ compilers for IBM Z systems