#llvm-ir #quantum #hugr #quantinuum #extensible #programs #lowering

hugr-llvm

A general and extensible crate for lowering HUGRs into LLVM IR

10 releases (5 breaking)

0.6.1 Oct 23, 2024
0.6.0 Oct 21, 2024
0.5.1 Sep 23, 2024
0.4.0 Sep 3, 2024
0.1.0 Jul 10, 2024

#1276 in Programming languages

Download history 154/week @ 2024-07-29 4/week @ 2024-08-05 21/week @ 2024-08-12 208/week @ 2024-08-19 593/week @ 2024-08-26 300/week @ 2024-09-02 252/week @ 2024-09-09 380/week @ 2024-09-16 263/week @ 2024-09-23 125/week @ 2024-09-30 159/week @ 2024-10-07 176/week @ 2024-10-14 400/week @ 2024-10-21 96/week @ 2024-10-28 94/week @ 2024-11-04 26/week @ 2024-11-11

620 downloads per month

Apache-2.0

285KB
6.5K SLoC

hugr-llvm

build_status codecov msrv

A general, extensible, rust crate for lowering HUGRs into LLVM IR. Built on hugr, inkwell, and llvm.

Usage

You'll need to point your Cargo.toml to use a single LLVM version feature flag corresponding to your LLVM version, by calling

cargo add hugr-llvm --features llvm14-0

At present only llvm14-0 is supported but we expect to introduce supported versions as required. Contributions are welcome.

See the llvm-sys crate for details on how to use your preferred llvm installation.

For an example lowering guppy programs to LLVM see tests/guppy.rs

Recent Changes

See CHANGELOG for a list of changes. The minimum supported rust version will only change on major releases.

Developing hugr-llvm

See DEVELOPMENT for instructions on setting up the development environment.

License

This project is licensed under Apache License, Version 2.0 (LICENCE or http://www.apache.org/licenses/LICENSE-2.0).

Dependencies

~19–31MB
~488K SLoC