前文 讲了七大环节和六大部分之间的对应关系,简单来讲就是七大环节其实对应了六大部分的第四个部分:Target-independent code generation algorithms(代码地址:lib/CodeGen)。
我们接下里再看看新建后端的时候,所做的七大步骤,对应的是LLVM后端的六大部分的哪一部分。我们首先对六大部分进行裁剪。
后端的六大部分:
- Target description classes: abstract target description interfaces (代码地址:include/llvm/Target/)
- Marchine code description classes: classes used to repesent the code being generated for a target (代码地址:include/llvm/CodeGen/)
- The "MC" Layer: use to represent and process code at the raw machine code level(代码地址:lib/MC include/llvm/MC)
- Target-independent code generation algorithms (代码地址:lib/CodeGen)
- Implementations of the abstract description interfaces for particular targets (代码地址: lib/Target)