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

Content deleted Content added
No edit summary
No edit summary
Tag: references removed
Line 28:
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 [[z Systems]] hardware architectures.
 
A common high level optimizer across the POWER and [[z/OS]] XL C/C++<ref>[https://www.ibm.com/us-en/marketplaceproducts/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.
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.
 
A 60-day installable evaluation version is available for download for the [[AIX]],<ref>[httphttps://www.ibm.com/developerworksproducts/downloads/r/xlcplusaixxl-cpp-aix-compiler-power/ XL C/C++ for AIX]</ref> Linux on Power,<ref>[http://www.ibm.com/developerworks/downloads/r/xlcpluslinux/ XL C/C++ for Linux on Power]</ref> and Linux on z<ref>[httphttps://www.ibm.com/developerworksus-en/downloads/r/xlcpluslinuxonzmarketplace/xl-cpp-linux-compiler-power XL C/C++ for Linux on zPower]</ref> compilers.
In June 2016, IBM introduced XL C/C++ for Linux Community Edition which is free of charge. It can be downloaded.<ref>[https://www.ibm.com/developerworks/community/blogs/572f1638-121d-4788-8bbb-c4529577ba7d/entry/June_17_2016_at_6_13_42_PM?lang=en link]</ref>