5.7 总结

从更概括的角度上来讲,IR 是编译器内部表示源代码的数据结构,IR 中通常已经抹掉了所有与源程序相关的信息,这样便可以将编译器前端与后端完全解耦。但 Go 编译器只是为了编译 Go 语言,所以 IR 也是围绕着 Go 语言来设计的,例如在 IR Tree 中存在OMAKECHAN这种 Go 语言才会有的 Op。

IR Tree 是编译器后续步骤的基础,从现在开始,后面的所有步骤都是基于 IR Tree 来展开了。

最后更新于