36 releases (15 breaking)

0.94.0 Mar 20, 2023
0.93.0 Feb 20, 2023
0.91.0 Dec 21, 2022
0.90.0 Nov 21, 2022
0.79.0 Dec 13, 2021

#83 in WebAssembly

Download history 34671/week @ 2022-12-08 33440/week @ 2022-12-15 24312/week @ 2022-12-22 25702/week @ 2022-12-29 39238/week @ 2023-01-05 41413/week @ 2023-01-12 46206/week @ 2023-01-19 45598/week @ 2023-01-26 43107/week @ 2023-02-02 46747/week @ 2023-02-09 46589/week @ 2023-02-16 53264/week @ 2023-02-23 49298/week @ 2023-03-02 54788/week @ 2023-03-09 51631/week @ 2023-03-16 51878/week @ 2023-03-23

217,681 downloads per month
Used in 130 crates (via cranelift-codegen)

Apache-2.0 WITH LLVM-exception

265KB
5.5K SLoC

ISLE: Instruction Selection / Lowering Expressions

ISLE is a domain specific language (DSL) for instruction selection and lowering clif instructions to vcode's MachInsts in Cranelift.

ISLE is a statically-typed term-rewriting language. You define rewriting rules that map input terms (clif instructions) into output terms (MachInsts). These rules get compiled down into Rust source test that uses a tree of match expressions that is as good or better than what you would have written by hand.

Dependencies

~86KB