IBM XL C
   HOME

TheInfoList



OR:

XL C/C++ is the name of
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
's proprietary optimizing C/ C++ compilers for IBM-supported environments.


Compiler

The IBM XL compilers are built from modularized components consisting of front ends (for different
programming languages A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
), 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
IBM Z IBM Z is a family name used by IBM for all of its z/Architecture mainframe computers. In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family will soon include the newes ...
hardware architectures.


Optimization

A common high level optimizer across the POWER and
z/OS z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest: ...
XL C/C++ compilers optimizes the source program using platform-agnostic optimizations such as interprocedural 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 platforms. 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 optimization In compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops. It plays an important role in improving cache performance and making effective use of parallel processing capa ...
s. The XL compilers on AIX have delivered, for example, SPEC CPU2006 Floating Point score of 71.5 in May 2010 and score of 4051 in August 2006.


IBM i

The XL compiler on IBM i series for C/C++, is called ixlc. It is a qsh CLI based on the same assets than the CRTCPPMOD / CRTPGM system commands. It is compatible with C++98, and partially with C++11. It was discontinued in 2011.


IBM AIX and Linux on Power

Current versions of XL C/C++ for AIX on Power (17.1.1) and XL C/C++ for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
on Power (17.1.1),IBM Open XL C/C++ for Linux on Power 17.1.1
/ref> are based on open-source
Clang Clang () is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler ...
front-end (part of the Clang/LLVM open source project). In particular, XL C/C++ for AIX 17.1.0 is based on LLVM Clang 13. Both compilers provide support for C11, C++03, C++11, and C++14. Note that while XL C/C++ for Linux on Power supports at least C++17, some library features later than C++14 may be unavailable under XL C/C++ for AIX on Power.


Licensing

In June 2016, IBM introduced XL C/C++ for Linux Community Edition, which is a no-charge and fully functional edition for unlimited production use.XL C/C++ for Linux Community Edition
/ref> A new monthly pricing option is offered in XL C/C++ for AIX 16.1 and XL Fortran for AIX 16.1 to provide more flexibility for cloud-based use cases. This pricing model is on a term or subscription basis, with Software Subscription and Support included. IBM Open XL compilers offer monthly licenses (per Virtual Processor Core); meanwhile, user-based licenses (i.e. Authorized user and Concurrent user licenses) are still available.


IBM Z

The z/OS XL C/C++ compiler exploits the IBM Z® systems. It enables the 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 the C/C++ source, which simplifies the operation of C/C++ within CICS and Db2® environments. It works in concert with the IBM Application Delivery Foundation for z/OS. IBM® Open XL C/C++ 1.1 for z/OS® is the newest C/C++ compiler on z/OS that is fully based on the open source LLVM infrastructure. Open XL C/C++ 1.1 supports up to C17/C18 and C++17 language standard features and leverages the features of the IBM z16™ mainframe, ideal for z/OS UNIX System Services users porting applications from distributed platforms. Open XL C/C++ 1.1 is available as a no-charge add-on feature for users who have enabled the z/OS XL C/C++ (an optionally priced feature) on z/OS 2.4 or z/OS 2.5.


Products

XL C/C++ and Open XL C/C++ compiler families consist of the following products, with most recent version and release dates where known: * Open XL C/C++ for z/OS (Version 1.1, May 2022) * Open XL C/C++ for AIX on Power (Version 17.1.1, Nov 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 for z/OS 2.4 (Dec 2019) * z/OS XL C/C++ (Version 2.4, Sep 2019) * XL C/C++ for z/VM (Version 1.3, December 2011) * XL C/C++ for Linux on z Systems (Version 1.2, 2016) * 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

* IBM VisualAge – the predecessor product *
List of compilers This page is intended to list all current compilers, compiler generators, Interpreter (computing), interpreters, translators, tool foundations, Assembler (computing), assemblers, automatable command line interfaces (Shell (computing), shells), et ...


References


External links


Product documentation: Open XL C/C++ for AIX 17.1.0

Product documentation: XL C/C++ for Linux 16.1.1

Product documentation: XL C/C++ for AIX 16.1

Product documentation: XL C for AIX 13.1.3

Product documentation: Open XL C/C++ for z/OS 1.1

Product documentation: z/OS XL C/C++ 2.4

Product page: z/OS XL C/C++

Community: IBM C/C++ and Fortran compilers on Power® community

Community: IBM C/C++ compilers for IBM Z
{{DEFAULTSORT:IBM XL C C++ Compilers C++ compilers C (programming language) compilers IBM software