#smart-contracts #evm #compiler #wasm

sonatina-ir

sonatina 代码生成器的中间表示

3 个版本

0.0.3-alpha2022年11月10日
0.0.2-alpha2022年11月10日
0.0.1-alpha2022年11月7日

#8 in #smart-contract


2 crates 中使用

Apache-2.0

145KB
4K SLoC

Sonatina

Sonatina 是一个针对智能合约优化的编译器后端。

Sonatina 目前处于开发初期阶段,因此请不要在生产环境中使用它!

项目布局

sonatina 由几个 crate 组成。

  • codegen: sonatina 的主要 crate,提供 IR 模块和函数构建器、优化流程、指令选择 DAG 和二进制代码输出。
  • filecheck: 为 filecheck 提供测试运行器和测试固件。
  • parser: sonatina IR 的解析器,主要用于 filecheck 测试。
  • object: 为链接器提供抽象的目标文件格式。
  • triple: 为智能合约提供目标三元组。

待办事项

测试

运行 test_all.sh

依赖项

~1.6–2.3MB
~44K SLoC