MLIR dialects and passes

This reference describes the MQT Compiler Collection’s MLIR infrastructure. For compilation, simulation, and device execution, start with compilation and execution. Compiler contributions follow the development policy.

We define multiple dialects, each with its dedicated purpose:

  • The MQT dialect stores frontend-neutral program metadata that remains meaningful across dialect conversions.

  • The QC dialect uses reference semantics and is designed as a compatibility dialect that simplifies translations from and to existing representations such as Qiskit circuits, 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 semantics and is used in the QCO dialect to represent collections of qubits such as registers.

  • The CBit dialect represents initialized classical-bit registers shared by QC and QCO.

These dialects define various canonicalization patterns 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.