IBM XL C/C++ Compilers: Difference between revisions

Content deleted Content added
Amarji25 (talk | contribs)
I removed one such sentence which was like an advertisement
 
(10 intermediate revisions by 4 users not shown)
Line 11:
| collapsible =
| developer = [[IBM]]
| latest_release_version = 17.1.1 (AIX on Power, Linux on Power), 1.1 (z/OS)
| latest_release_date = {{Start date and age|20182022|1209}} (Linux on Power), {{Start date and age|2022|11}} (AIX on Power), {{Start date and age|2022|05}} (z/OS)
| latest_preview_version =
| latest_preview_date =
Line 26:
 
==Compiler==
The IBM XL compilers are built from modularized components consisting of front ends (for different [[Programming language|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 [[IBM Z]] hardware architectures.
 
=== Optimization ===
Line 34:
 
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]]s.
 
The XL compilers on AIX have delivered, leadershipfor scoresexample, in the [[Standard Performance Evaluation Corporation|SPEC]] CPU2000 and CPU2006 benchmarks,Floating inPoint combinationscore withof specific71.5 IBMin POWERMay system processor announcements, for example, SPEC CPU2006 Floating Point2010<ref>[http://www.spec.org/cpu2006/results/res2010q2/#SPECfp|SPEC CPU2006 Floating Point]</ref> and score of 71.54051 in May 2010 andAugust 2006.<ref>[http://www.spec.org/cpu2000/results/res2006q3/ SPEC CPU2000 Floating Point]</ref> 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. IsIt is compatible with C++98, and partially with C++11. IsIt 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]] on Power (17.1.1),<ref name="xlc-linux-1711">[https://www.ibm.com/support/pages/system/files/inline-files/openxl_cpp_lop_1711_fact_sheet.pdf IBM Open XL C/C++ for Linux on Power 17.1.1]</ref> are based on open-source [[Clang]] 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.<ref>[https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.0?topic=migration-migrating-new-llvm-clang-compiler-infrastructure Migrating to the new LLVM and Clang compiler infrastructure]</ref> 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,<ref name="xlc-linux-1711" /> some library features later than C++14 may be unavailable under XL C/C++ for AIX on Power.<ref>{{citation|url=https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.0?topic=infrastructure-language-support|title="IBM Open XL C/C++ for AIX" - 17.1.0 - Language support}}</ref>
A 60-day installable evaluation version is available for download for XL C/C++ for [[IBM AIX|AIX]].<ref>[https://www.ibm.com/products/xl-cpp-aix-compiler-power/ XL C/C++ for AIX evaluation version]</ref> 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.<ref>[https://www.ibm.com/products/xl-cpp-linux-compiler-power XL C/C++ for Linux Community Edition]</ref>
 
==== Licensing ====
The XL compilers on AIX have delivered leadership scores in the [[Standard Performance Evaluation Corporation|SPEC]] CPU2000 and CPU2006 benchmarks, in combination with specific IBM POWER system processor announcements, for example, SPEC CPU2006 Floating Point<ref>[http://www.spec.org/cpu2006/results/res2010q2/#SPECfp|SPEC CPU2006 Floating Point]</ref> score of 71.5 in May 2010 and <ref>[http://www.spec.org/cpu2000/results/res2006q3/ SPEC CPU2000 Floating Point]</ref> score of 4051 in August 2006.
 
A 60-day installable evaluation version is available for download for XL C/C++ for [[IBM AIX|AIX]].<ref>[https://www.ibm.com/products/xl-cpp-aix-compiler-power/ XL C/C++ for AIX evaluation version]</ref> 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.<ref>[https://www.ibm.com/products/xl-cpp-linux-compiler-power XL C/C++ for Linux Community Edition]</ref>
Current versions of XL C/C++ for AIX (16.1) and XL C/C++ for Linux (16.1.1), are based on open-source [[Clang]] front end (part of the Clang/LLVM open source project).{{citation-needed|date=October 2021}} They provide support for C11, C++03, C++11, and C++14.
 
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); to facilitate the journey to the hybrid cloud. Meanwhilemeanwhile, user-based licenses (i.e. Authorized user and Concurrent user licenses) are still available.
With the launch of IBM Power10, the IBM XL C/C++ for AIX compiler has been modernized and re-branded to IBM Open XL C/C++ for AIX. IBM Open XL C/C++ for AIX 17.1.0 combines Clang/LLVM technology with IBM's industry-leading optimizations, which provides the following improved capabilities:
 
* Greater application performance
* Enhanced language standard support
* Enhanced GCC compatibilities
* Faster build speed
 
IBM Open XL compilers offer monthly licenses (per Virtual Processor Core) to facilitate the journey to the hybrid cloud. Meanwhile, user-based licenses (i.e. Authorized user and Concurrent user licenses) are still available.
 
=== IBM Z ===
Line 63 ⟶ 57:
 
==Products==
TheXL C/C++ and Open XL C/C++ compiler familyfamilies consistsconsist of the following products, with most recent version and release dates where known:
* Open XL C/C++ for AIXz/OS (Version 161.1, DecemberMay 20182022)
* Open XL C/C++ for AIX on Power (Version 17.1.01, SepNov 20212022)
* Open XL C/C++ for z/OSLinux on Power (Version 17.1.1, MayAugust 2022)
* XL C for AIX (Version 13.1.3, December 2015)
* XL C/C++ for Linux on Power for little-endian distributions (Version 16.1.1, November 2018)
* XL C/C++ for Linux on Power for big-endian distributions (Version 13.1, June 2014)
* XL C/C++ 2.4.1 for z/OS 2.4 (Dec 2019)
* z/OS XL C/C++ (Version 2.4, Sep 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.12, January 20152016)
* 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)
 
The Open XL C/C++ compiler family consists of the following products, with the 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 (Version 17.1.0, Sep 2021)
 
==See also==