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

Content deleted Content added
No edit summary
Xascorpio (talk | contribs)
No edit summary
Line 26:
 
==Compiler==
The IBM XL compilers are built from modularized components consisting of front ends (for different 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 [[zIBM SystemsZ]] hardware architectures.
 
A common high level optimizer across the POWER and [[z/OS]] XL C/C++<ref>[https://www.ibm.com/products/xl-cpp-compiler-zos z/OS XL C/C++]</ref> 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 platform.
 
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.
Line 37:
edition for unlimited production use.<ref>[https://www.ibm.com/products/xl-cpp-linux-compiler-power XL C/C++ for Linux Community Edition]</ref>
 
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.
 
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). They provide support for C11, C++03, C++11, and C++14.
Line 45:
The next release of C/C++ and Fortran offering will fully incorporate the [[LLVM]] compiler infrastructure to combine IBM's strength in compiler optimization technology with LLVM open-source infrastructure. Now the beta version of future C/C++ and Fortran offerings are available <ref>[https://community.ibm.com/community/user/power/blogs/si-yuan-zhang1/2020/11/20/ibm-cc-and-fortran-new-beta-compilers-available?CommunityKey=5d23d564-1e3e-47e6-8e47-71b8b65eedfd&tab=recentcommunityblogsdashboard IBM C/C++ and Fortran new beta compilers]</ref>.
 
The z/OS XL C/C++ compiler exploits the latest IBM Z® systems, including the latest IBM z14®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 C/C++ source, which simplifies the operation of C/C++ within CICS and DB2Db2® environments. It works in concert with the IBM Application Delivery Foundation for z Systems® family of products/OS.
 
IBM XL C/C++ V2.34.1 for z/OS® V2.34 web deliverable is the latest offering from the IBM XL C/C++ compiler family, which provides new C and C++ compilers that adopt the Clang infrastructure from the LLVM open source community for a portion of the compilers. z/OS XL C/C++ V2.34.1 is designed to aid in porting code from other platforms to z/OS and to give a more familiar view to developers who are accustomed to a UNIX environment. IBM XL C/C++ V2.34.1 for z/OS V2.34 provides support for the core C11 standard and most of the C++11 and C++14 standard features for easier application migration to IBM Z® servers.
 
==Products==