golang的ssa代码注释写得非常好了。可以通过看一些教材补充上一些知识盲点就行了。Tarjan的求dominator tree的算法正确性证明因为大量使用了反证法(图的东西反证法都挺多),所以不那么直观。golang在ssa上提供的变换其实算非常少的(据说是golang的人不喜欢花哨的优化),主要是DCE,CSE,BCE,在经典的编译器教材都有涉及。golang使用的RegAlloc是贪心的LSRA(类似LLVM),我觉得注释写得足够好了。