首发于LLVM每日谈

LLVM每日谈之四十八 LLVM后端文档解析1

之前在 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 high-level design of the code generator. It explains how they work and some of the rationale behind their design. 其中的“high-level design of the code generator”,就是我们前文指出的“七大环节”。也就是说,我们讲的“七大环节”对应了六大部分中的第四个部分

而我们新建后端的七大步骤,既要保证针对该新建后端的六个部分完整,也要保证针对该新建后端的七大环节完整,这样才能保证新建后端的正常运行。

后续会对七大步骤对应六大部分和七大环节的具体关系进行解析。


LLVM后端的其他文章:

小乖他爹:LLVM每日谈之三十七 LLVM后端简介(杭州分享PPT)

小乖他爹:LLVM每日谈之四十七 LLVM后端文档解析

编辑于 2019-05-15

文章被以下专栏收录