4 个版本
0.3.2 | 2024年7月8日 |
---|---|
0.3.1 | 2024年7月8日 |
0.3.0 | 2024年7月8日 |
0.2.0 | 2024年5月31日 |
#13 in #mlir
373 每月下载
用于 2 crates
72KB
2K SLoC
编程语言中间表示ON
pliron
是一个可扩展的编译器IR框架,受 MLIR 启发,用安全的 Rust 编写。
构建和测试
-
安装 rust 工具链。
-
cargo build
和cargo test
应构建编译器并运行测试套件。 -
要查看一个简单的IR构建(通过 print_simple 测试),使用以下命令
cargo test print_simple -- --show-output
它应该打印出类似的内容
builtin.module @bar { ^block_1v1(): builtin.func @foo: builtin.function<() -> (builtin.int<si64>)> { ^entry_block_2v1(): c0_op_3v1_res0 = test.constant builtin.integer <0x0: builtin.int<si64>>; test.return c0_op_3v1_res0 } }
-
pliron
提供了一个llvm-opt
工具,可以将 LLVM-IR 位码解析为 LLVM 方言并输出 LLVM-IR 位码。
使用库
pliron
目前处于起步阶段,还不适用于实际应用。未来,它可以通过将 crate 添加到您的 Rust 项目中来使用。
文档
- 介绍和动机在 入门wiki文章 中介绍。
- 维基还提供了 与其它编译器框架的比较,涉及到一些设计决策。
- 代码文档可以在 docs.rs 上找到。
依赖关系
~0.9–1.5MB
~32K SLoC