标签: optimization go code-generation
有扫描/解析/ typecheck Go代码的包, 但是优化呢?
假设我们有一个将Go转换为其他目标语言的程序。 如果我们仅基于AST进行,我们将错过所有优化(除非我们手动应用它们)。目标环境可能有非常糟糕或根本没有优化器,当然即使它有一个优化器,它也无法很好地优化转换编码。
简单地说:我们有什么选择?
也许有一些方法可以通过优化编译Go到其汇编程序,然后(2)之一: a)将汇编程序转换回Go并像往常一样遍历AST? b)将汇编程序读入某种IR结构并用它来发出代码?
提前致谢。