我知道一个AST
解析器生成的数据用于在前端生成 IR。
我想知道如何解析 AST,然后将其转换为 IR(问题汇编或位码),
AST 是一棵树,从 AST 到 IR 的转换涉及哪些步骤。
发射LLVM IR from Clang ASTs
发生在 Clang 的code gen
阶段。此阶段的代码位于lib/CodeGen/
(相对于 Clang 的源根)。不需要解析 AST,因为 Clang 将 AST 存储在内存数据结构中。代码生成本质上是 AST 的递归遍历,将 IR 发送到Module
。如果您对其中的任何特定步骤感兴趣,那么检查它的最佳方法是查看代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)