IBM is becoming increasingly interested in SystemZ for a variety of purposes, including the use of the Gallium3D LLVMpipe driver. As a result, IBM developers have created a new LLVM back-end for their mainframe computers.
Ulrich Weigand of IBM announced the new SystemZ back-end on Sunday with this mailing list message
. He wrote, "We're interested in this for the same reason we've been interested in the PowerPC back-end recently: to enable packages in upcoming enterprise Linux distributions that need LLVM support (e.g. 3D desktop support via llvmpipe)."
There used to be a SystemZ back-end in LLVM but it was dropped as it wasn't being maintained well. This new back-end is partially based upon that old code but has been re-written extensively. "I understand that a SystemZ backend used to be part of LLVM for a while, but has been removed (due to lack of maintenance, it would appear). While the backend provided by this set of patches is originally based on that old SystemZ backend, it has been significantly rewritten and many of the missing 'modern' features added."
This new back-end supports the 64-bit z/Architecture, support for Z10 processors and newer, a Linux operating system support focus, and the back-end is striding on feature completeness and correctness rather than pure performance.
With this new SystemZ LLVM back-end, the C/C++ compiler front-end paired with this back-end is passing many tests, there's a working integrated assembler, a working assembler parser, and working MCJIT support.
Recently IBM has been advancing the LLVM PowerPC support
as well as bringing Gallium3D LLVMpipe to PowerPC
. They've also been bringing up POWER8 in the Linux kernel