跳转至

IR

PyPTO 的中间表示 —— 其他所有层都依赖的契约。

IR 定义是整个编译器的真源:pass 可以重写,IR 节点定义不可以。先读概览, 再读与你所改动内容对应的页面。

页面 内容
概览 从 Python DSL 到生成 kernel 的编译流水,以及 IR 在其中的位置
节点层次 所有 IR 节点类型的完整参考,按类别组织
类型与示例 类型系统及其实际用法示例
结构化比较 按结构而非指针身份比较 IR 节点
序列化 基于 MessagePack 的 .pto 序列化
算子系统 带自动类型推导的类型安全算子定义
IR Builder 增量构造 IR —— Python 用上下文管理器,C++ 用 Begin/End
IR Parser 通过 @pl.function / @pl.program 把 Python DSL 转成 IR,以及它强制的 SSA 性质

另请参阅