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

Content deleted Content added
No edit summary
Amarji25 (talk | contribs)
I removed one such sentence which was like an advertisement
 
(18 intermediate revisions by 8 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 23:
}}
 
'''XL C/C++''' is the name of [[IBM]]'s [[proprietary software|proprietary]] optimizing [[C (language)|C]]/[[C++]] compilercompilers for IBM-supported environments.
 
==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 35:
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 AIX ===
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>
 
=== IBM AIXi ===
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.
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 (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.
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>
 
==== Licensing ====
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.
 
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>
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:
 
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.
* 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. Meanwhilemeanwhile, 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 latest IBM Z® systems, including the latest IBM z15™ servers. 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++ V2.41.1 for z/OS® V2.4 web deliverable is the latest offering from the IBM XLnewest C/C++ compiler family,on which provides new C and C++ compilersz/OS that adoptis thefully Clangbased infrastructure fromon the LLVM open source communityLLVM for a portion of the compilersinfrastructure. z/OSOpen XL C/C++ V2.41.1 issupports designedup to aidC17/C18 inand portingC++17 codelanguage fromstandard otherfeatures platformsand toleverages z/OSthe andfeatures toof givethe aIBM morez16™ familiarmainframe, viewideal tofor developersz/OS whoUNIX areSystem accustomedServices tousers aporting UNIXapplications environmentfrom distributed platforms. IBMOpen XL C/C++ V2.41.1 foris z/OSavailable V2.4as providesa supportno-charge foradd-on thefeature corefor C11users standardwho andhave most ofenabled the C++11z/OS andXL C/C++14 standard(an featuresoptionally forpriced easierfeature) applicationon migrationz/OS to2.4 IBMor z/OS servers2.5.{{citation-needed|date=October 2021}}
 
==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 Linux on Power for big-endian distributions (Version 1317.1.1, JuneAugust 20142022)
* XL C for AIX (Version 13.1.3, December 2015)
* XL C/C++ for Linux on Power2.4.1 for little-endianz/OS distributions2.4 (Version 16.1.1, NovemberDec 20182019)
* XL C/C++ for Linux on Power for big-endian distributions (Version 13.1, June 2014)
* 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 AIX (Version 17.1.0, Sep 2021)
 
==See also==
Line 88 ⟶ 81:
* [https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1/ Product documentation: XL C/C++ for AIX 16.1]
* [https://www.ibm.com/docs/en/xl-c-aix/13.1.3/ Product documentation: XL C for AIX 13.1.3]
* [https://www.ibm.com/docs/en/zos/2.4.0?topic=zosopen-xl-ccc-cpp-zos/1.1 Product documentation: z/OSOpen XL C/C++, V2for z/OS 1.41]
* [https://www.ibm.com/docs/en/zos/2.34.0?topic=zos-xl-cc Product documentation: z/OS XL C/C++, V22.34]
* [https://www.ibm.com/docs/en/zos/2.2.0?topic=zos-xl-cc Product documentation: z/OS XL C/C++, V2.2]
* [https://www.ibm.com/products/xl-cpp-compiler-zos Product page: z/OS XL C/C++]
* [https://community.ibm.com/community/user/power/communities/community-home?communitykey=5d23d564-1e3e-47e6-8e47-71b8b65eedfd&tab=groupdetails Community: IBM C/C++ and Fortran compilers on Power® community]