19 releases (7 breaking)

Uses new Rust 2021

0.86.1 Jul 21, 2022
0.85.3 Jul 21, 2022
0.82.2 Mar 31, 2022
0.79.0 Dec 13, 2021

#625 in WebAssembly

Download history 19/week @ 2022-04-22 51/week @ 2022-04-29 87/week @ 2022-05-06 209/week @ 2022-05-13 69/week @ 2022-05-20 74/week @ 2022-05-27 96/week @ 2022-06-03 5/week @ 2022-06-10 329/week @ 2022-06-17 3544/week @ 2022-06-24 6433/week @ 2022-07-01 7928/week @ 2022-07-08 12606/week @ 2022-07-15 15979/week @ 2022-07-22 22325/week @ 2022-07-29 18775/week @ 2022-08-05

72,175 downloads per month
Used in 22 crates (via cranelift-codegen)

Apache-2.0 WITH LLVM-exception

210KB
4.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

~185KB