C/C++ - Group home

IBM C/C++ and Fortran compilers to adopt LLVM open-source infrastructure

IBM has been investing significantly in open source code, communities, and governance. LLVM is an open source compilation technology framework that is actively maintained by a large development community, supporting multiple architectures and programming languages. Clang is the open source C/C++ frontend for the LLVM project and provides full support for the latest language standards. IBM intends to fully incorporate the LLVM Core and Clang sub-projects in future C/C++ offerings on z/OS, Linux on Power, AIX, and IBM i (within PASE) platforms.

As an active sponsor and strong supporter of the LLVM open source project, IBM is contributing code for both Power and IBM Z in the areas of code generation and exploitation, portability and usability enhancements, and toolchain support. In 2019, IBM increased participation in the LLVM project by adding AIX support and enhancing loop optimizations. IBM intends to fully leverage the LLVM infrastructure in C/C++ offerings as the next step in our compiler strategy.

IBM XL C/C++ has a rich tradition of providing enterprise level offerings with advanced optimization technology. In the more recent versions of the IBM C/C++ offerings, IBM has integrated parts of the Clang sub-project in order to provide C11, C++11 and C++14 support on z/OS, Linux on Power, AIX, and IBM i (within PASE).

IBM intends to combine the XL Fortran frontend with the LLVM Core sub-project for future Fortran offerings for Linux on Power and AIX. Clients can expect the same industry leading Fortran implementation while gaining additional capabilities provided by the LLVM infrastructure.

C/C++ and Fortran clients will enjoy the best of both worlds, combining IBM’s strength in compiler optimization technology with LLVM open source infrastructure. These benefits include:

    • Simplifying cross platform development for applications containing new C and C++ language features, including C11, C18, C++11, C++14, and C++17. Support for emerging C and C++ language standards will be made available in IBM offerings more promptly.

    • Maximizing return on investment with full hardware exploitation on z/OS, Linux on Power, AIX, and IBM i (within PASE) platforms resulting in optimal application performance delivered through advanced optimization technology.

    • Building higher quality code and reducing development time with access to Clang and LLVM diagnostic and reporting capabilities.

    • Receiving enterprise level service and support for C/C++ and Fortran offerings on z/OS, Linux on Power, AIX, and IBM i.

Special thanks for the contributions made by the following IBM Compiler Offering Managers: Si Yuan Zhang, Jeff Heath and Roland Koo

Statements by IBM regarding its plans, directions, and intent are subject to change or withdrawal without notice at the sole discretion of IBM. Information regarding potential future products is intended to outline general product direction and should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for IBM products remain at the sole discretion of IBM.