  We present a multi-level quantum-classical intermediate representation (IR)
that enables an optimizing, retargetable, ahead-of-time compiler for available
quantum programming languages. To demonstrate our architecture, we leverage our
proposed IR to enable a compiler for version 3 of the OpenQASM quantum language
specification. We support the entire gate-based OpenQASM 3 language and provide
custom extensions for common quantum programming patterns and improved syntax.
Our work builds upon the Multi-level Intermediate Representation (MLIR)
framework and leverages its unique progressive lowering capabilities to map
quantum language expressions to the LLVM machine-level IR. We provide both
quantum and classical optimizations via the MLIR pattern rewriting sub-system
and standard LLVM optimization passes, and demonstrate the programmability,
compilation, and execution of our approach via standard benchmarks and test
cases. In comparison to other standalone language and compiler efforts
available today, our work results in compile times that are 1000x faster than
standard Pythonic approaches, and 5-10x faster than comparative standalone
quantum language compilers. Our compiler provides quantum resource
optimizations via standard programming patterns that result in a 10x reduction
in entangling operations, a common source of program noise. Ultimately, we see
this work as a vehicle for rapid quantum compiler prototyping enabling language
integration, optimizations, and interoperability with classical compilation
approaches.
