MQT Compiler Collection

The MQT Compiler Collection (mqt-cc) is a blueprint for a future-proof quantum-classical compilation framework built on the Multi-Level Intermediate Representation (MLIR). For an overview, see [37].

The Python compiler guide describes how to compile and inspect quantum programs from Python. The target-compilation guide shows how to compile for QDMI devices from Python, C++, and mqt-cc. The remaining pages are the technical reference for the underlying MLIR infrastructure.

We define multiple dialects, each with its dedicated purpose:

  • The QC dialect uses reference semantics and is designed as a compatibility dialect that simplifies translations from and to existing languages such as Qiskit, OpenQASM, or QIR.

  • The QCO dialect uses value semantics and is mainly designed for running optimizations.

  • The QTensor dialect adds support for one-dimensional tensors of qubits with linear typing and is used in the QCO dialect to represent collections of qubits such as registers.

These dialects define various canonicalization and transformation passes that enable the compilation of quantum programs to native quantum hardware. Passes that are not tied to a single dialect are documented on the passes page. For interoperability, we provide conversions between dialects.

The OpenQASM interface translates supported OpenQASM input directly to QC and emits structured OpenQASM from QC.

Note

This page is a work in progress. The content is not yet complete and subject to change. Contributions are welcome. See the contribution guide for more information.