#llvm #quantum #llvm-ir #general #quantinuum #hugr #extensible

hugr-llvm

A general and extensible crate for lowering HUGRs into LLVM IR

6 releases (3 breaking)

new 0.4.0 Sep 3, 2024
0.3.1 Aug 28, 2024
0.2.1 Aug 19, 2024
0.2.0 Jul 31, 2024
0.1.0 Jul 10, 2024

#1073 in Programming languages

Download history 93/week @ 2024-07-05 29/week @ 2024-07-12 3/week @ 2024-07-19 131/week @ 2024-07-26 27/week @ 2024-08-02 14/week @ 2024-08-09 181/week @ 2024-08-16 545/week @ 2024-08-23 315/week @ 2024-08-30

1,056 downloads per month

Apache-2.0

180KB
4K 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

~13MB
~240K SLoC