go ssa 的一些知识

88 天前
 griffinx

最近工作中涉及到了比较多的 go ssa ,所以准备写一个详细介绍 ssa 的小册子,毕竟 go ssa 本身的文档并不算多,概念也有些模糊 https://xieyuschen.github.io/go-ssa-book/

1197 次点击
所在节点    程序员
4 条回复
nagisaushio
88 天前
之前借助 ssa 写过一个 staticcheck 检查所有 type A coerced into type B 的地方。一开始在 ast 层面捣鼓了很久没弄出来,后来发现用 ssa 简直太容易了
lointo
88 天前
挺有用 不过现在我都是用 github copilot 来,写这片的逻辑 太多常量需要记忆了
griffinx
87 天前
@nagisaushio 是的,ssa 在生成 ir 过程中做了很多的处理,对于语义层面的解析非常有帮助。
griffinx
87 天前
@lointo 嗯是的,同意你的观点,但是如果一些具体的概念不了解的话,一点点的试效率很低,这也是我写这个小册子的原因(太忙了只能一点点写了)。另外如果有 llvm 背景的话,其实这些 ir 很好理解,只需要关注 go 是如何组织各种结构的 ir 代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1068081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX