This repository uses a template for an out-of-tree MLIR dialect as well as a standalone opt-like tool to operate on that dialect.
Template taken from jmgorius/mlir-standalone-template
Clone all submodules:
git submodule init
git submodule updateThis setup assumes that you have built LLVM and MLIR in $BUILD_DIR and installed them to $PREFIX. To build and launch the tests, run
mkdir build && cd build
cmake -G Ninja .. -DMLIR_DIR=$PREFIX/lib/cmake/mlir -DLLVM_EXTERNAL_LIT=$BUILD_DIR/bin/llvm-lit
cmake --build . --target check-quantum-optTo build the documentation from the TableGen description of the dialect operations, run
cmake --build . --target mlir-docNote: Make sure to pass -DLLVM_INSTALL_UTILS=ON when building LLVM with
CMake so that it installs FileCheck to the chosen installation prefix.
Check the LLVM COMMIT INFO for latest verified build.
This dialect template is made available under the Apache License 2.0 with LLVM Exceptions. See the LICENSE.txt file for more details.
If you found our project useful, please consider citing our paper on it: QSSA: an SSA-based IR for Quantum computing.
@inproceedings{10.1145/3497776.3517772,
author = {Peduri, Anurudh and Bhat, Siddharth and Grosser, Tobias},
title = {QSSA: an SSA-based IR for Quantum computing},
year = {2022},
isbn = {9781450391832},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3497776.3517772},
doi = {10.1145/3497776.3517772},
booktitle = {Proceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction},
pages = {2–14},
numpages = {13},
keywords = {quantum circuits, optimization, intermediate representations, compilers, SSA},
location = {Seoul, South Korea},
series = {CC 2022}
}