我知道解析器生成的AST
用于在前端生成IR。
我想知道如何解析AST然后转换为IR(概率汇编或bitcode),
AST是一棵树,从AST到IR的转换涉及哪些步骤。
答案 0 :(得分:6)
在Clang的LLVM IR from Clang ASTs
阶段发生code gen
。此阶段的代码位于lib/CodeGen/
(相对于Clang的源根)。因为Clang在内存数据结构中具有AST,所以不需要解析AST。代码生成本质上是AST的递归遍历,它将IR发送到Module
。如果您感兴趣的任何特定步骤,检查它的最佳方法是查看代码。