An updated LLVM-based quantum research compiler with further OpenQASM support

Abstract
Quantum computing is a rapidly growing field with the potential to change how we solve previously intractable problems. Emerging hardware is approaching a complexity that requires increasingly sophisticated programming and control. Scaffold is an older quantum programming language that was originally designed for resource estimation for far-future, large quantum machines, and ScaffCC is the LLVM-based compiler for it. For the first time, we provide a full and complete overview of the language itself, the compiler as well as its pass structure. While previous works, have piecemeal descriptions of different portions of this toolchain, we provide a more full and complete description in this paper. We also introduce updates to ScaffCC including conditional measurement and multidimensional qubit arrays designed to keep in step with modern quantum assembly languages, as well as an alternate toolchain targeted at maintaining correctness and low resource count for Noisy-Intermediate Scale Quantum (NISQ) machines, and compatibility with current versions of LLVM and Clang. Our goal is to provide the research community with a functional LLVM framework for quantum program analysis, optimization, and generation of executable code.
Funding Information
  • Division of Physics (1818914)
  • Division of Computing and Communication Foundations (1730082 1730449)
  • Office of Science (0020289 0020331)

This publication has 13 references indexed in Scilit: