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

Andrew Litteken, Yung Ching Fan, Devina Singh, Margaret Martonosi, Frederic T. Chong

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


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 corresponding LLVM-based compiler. 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 Abhari et al (2015 Parallel Comput. 45 2-17), Abhari et al (2012 Scaffold: quantum programming language, 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.

Original languageEnglish (US)
Article number034013
JournalQuantum Science and Technology
Issue number3
StatePublished - Jul 2020

All Science Journal Classification (ASJC) codes

  • Atomic and Molecular Physics, and Optics
  • Materials Science (miscellaneous)
  • Physics and Astronomy (miscellaneous)
  • Electrical and Electronic Engineering


  • LLVM
  • Scaffold
  • compilers
  • programming languages
  • quantum compiler
  • quantum computing
  • quantum programming languages


Dive into the research topics of 'An updated LLVM-based quantum research compiler with further OpenQASM support'. Together they form a unique fingerprint.

Cite this