llvm-tutorial部分翻译,目前初步完成了入门教程Kaleidoscope部分和mlir入门教程部分的翻译。目前限于本人对llvm理解,翻译还有很多待完善地方,后面会抽时间完善,也欢迎感兴趣的同学来共同完善,欢迎任何形式的pr。
MLIR是多级IR表示,目的是通过多级IR表示提高编译框架的可扩展性和可重用性,详情参见MLIR文档。
mlir/standalone中从官方仓库中迁移来了一个可独立编译的mlir工程,该工程需要先编译安装llvm&mlir,安装过程参考MLIR文档。项目独立编译参考mlir/standalone/README.md。
mlir/code中是mlir的Toy教程对应的源码,为了方便学习,按照standalone的cmakelists改写了一下,可以独立编译验证。
说明: 目前文档是基于llvm-12.0.1分支构建的,工程结构如下:
├── LICENSE ├── BuildingAJIT │ ├── markdown // 原版rst文档转换的markdown文档 │ ├── rst // 原版rst文档 │ └── zh-md // 机器翻译中文文档,!!!暂未校对 ├── mlir │ ├── code // llvm-project/mlir/examples/toy/路径下代码 │ ├── standalone // 可以独立编译的mlir项目示例 │ ├── docs │ │ ├── ...... │ │ ├── Toy // mlir教程原版文档 │ │ └── zh-docs // 中文文档 │ └── testcode // llvm-project/mlir/test/Examples/Toy/路径下代码 ├── MyFirstLanguageFrontend // Kaleidoscope教程 │ ├── answer // 官方仓库的示例代码 │ ├── code // 学习过程对照实现 │ └── doc │ ├── markdown // 原版英文rst文档转换成markdown │ ├── pics │ ├── rst // 原版rst文档 │ └── zh-md // 翻译后中文markdown文档 └── README.md 感谢@darionyaphet对项目的贡献。