之前在 LLVM每日谈之四十七 LLVM后端文档解析 中,介绍了后端文档中提到关于后端的六大模块、七大环节和七个步骤。前文也提到过,它们是从不同的维度去解析LLVM的后端,不同维度之间是存在各种各样的交叉关系的。在这里,简单对于三者的关系进行解析。
六大模块中第四个模块 Target-independent code generation algorithms(代码地址:lib/CodeGen) ,这个不依赖于具体平台的算法是用来实现生成native code的各个环节的,例如:寄存器分配、调度等。说的再直接一点,这个模块包含了我们前面提到了后端的七大环节。
在 The LLVM Target-Independent Code Generator 文档中,在target-independent-code-generation-algorithms 部分,上来第一句就是: This section documents the phases described in the