#instructions #cranelift #selection #rules #expressions #clif

build cranelift-isle

ISLE:指令选择和降低表达式。Cranelift 中用于指令选择的领域特定语言。

86 个版本 (32 个破坏性版本)

0.111.0 2024 年 8 月 20 日
0.110.1 2024 年 7 月 22 日
0.106.0 2024 年 3 月 20 日
0.103.0 2023 年 12 月 20 日
0.79.0 2021 年 12 月 13 日

#54 in WebAssembly

Download history 102291/week @ 2024-05-04 112380/week @ 2024-05-11 101138/week @ 2024-05-18 111158/week @ 2024-05-25 106255/week @ 2024-06-01 95668/week @ 2024-06-08 110323/week @ 2024-06-15 99946/week @ 2024-06-22 101856/week @ 2024-06-29 110255/week @ 2024-07-06 130254/week @ 2024-07-13 117333/week @ 2024-07-20 110031/week @ 2024-07-27 117832/week @ 2024-08-03 118511/week @ 2024-08-10 127335/week @ 2024-08-17

490,826 每月下载量
376 个 Crates 中使用(通过 cranelift-codegen

Apache-2.0 WITH LLVM-exception

275KB
5.5K SLoC

ISLE:指令选择 / 降低表达式

ISLE 是 Cranelift 中用于指令选择并将 clif 指令降低到 vcode 的 MachInst 的领域特定语言 (DSL)。

ISLE 是一种静态类型词项重写语言。您定义重写规则,将输入项(clif 指令)映射到输出项(MachInst)。这些规则被编译成 Rust 源代码测试,该测试使用树形结构 match 表达式,这比您手动编写的要好或更好。

依赖关系

~0–7.5MB
~37K SLoC