LLVM每日谈之五十 LLVM 后端文档解析3 —目标描述类

本文深入探讨LLVM后端的Target description classes,包括其作为目标机器抽象描述的功能,不依赖特定客户端。重点讲解TargetMachine类作为获取目标信息的入口,以及TargetLowering、TargetRegisterInfo等关键类的作用。注意,相关类已从include/llvm/Target/移至include/llvm/CodeGen/。
摘要由CSDN通过智能技术生成

前文理清楚了六大部分、七大环节和七大步骤的对应关系。那么我们接下来要深入的去分析:Target description classes: abstract target description interfaces (代码地址:include/llvm/Target/)。

Target description classes的特点主要有以下几点:

1、Target description classes,作为LLVM后端六大部分的第一大部分,主要是提供目标机器的一个抽象描述,不依赖于任何特定的客户端。

2、Target description classes所包含的类,是设计来捕捉目标的抽象特性,和具体的代码生成算法没有任何关系。

3、所有的Target description classes(除了DataLayout之外),都是设计来做具体目标实现的父类的(具体的目标实现要实现这些类的子类),所以这些类的实现都是虚函数实现的。

4、TargetMachine类是目标机器的完整机器描述的初始入口,通过该接口可以获取特定目标的所有信息。(Primary interface to the complete machine description for the target machine. All target-specific information should be accessible through this interface.)该类包含了一系列的get*Info 虚函数,以便获目标机器的相关信息,这些虚函数在具体的目标机器实现的时候会做具体实现。

总结起来,在所有的Target description classes中,TargetMachine和DataLayout是比较特殊的。TargetMac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值