PI:  Hal Finkel

Objective:  LLVM, winner of the 2012 ACM Software System Award, has become an integral part of the software-development ecosystem for optimizing compilers, dynamic-language execution engines, source-code analysis and transformation tools, debuggers and linkers, and a whole host of programming-language and toolchain-related components.  Now heavily used in both academia and industry, where it allows for rapid development of production-quality tools, LLVM is increasingly used in work targeted at high-performance computing.

Testbed:  JLSE’s POWER hardware is used for the development of new features for, and ongoing testing of, LLVM’s PowerPC backend. This backend allows LLVM to generate highly-optimized code for POWER hardware (including for the A2 cores in IBM’s BG/Q supercomputer).  The majority of this development work compliments ALCF’s bgclang compiler project:  https://www.alcf.anl.gov/user-guides/bgclang-compiler.