当前位置: 首页 > news >正文

中国网上购物网站绿色主题网站

中国网上购物网站,绿色主题网站,餐饮网站设计公司,开发电商网站想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章: LLVM 后端实践笔记 代码在这里(还没来得及准备,先用网盘暂存一下): 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…

 想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章:

LLVM 后端实践笔记

代码在这里(还没来得及准备,先用网盘暂存一下):

链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?pwd=vd6s 提取码: vd6s 

系列课程告一段落,这里对这个系列课程做个总结。

1.文件对应的功能

Cpu0后端各个文件的功能

文件

功能

Cpu0AsmParser.cpp

汇编器

Cpu0Disassembler.cpp

反汇编器

Cpu0ABIInfo.cpp/.h

Cpu0ABIInfo.cpp定义ABI的信息,提供了O32、S32和未知三种ABI规范。

Cpu0AsmBackend.cpp/.h

定义后端的一些功能,包括重定位等等

Cpu0BaseInfo.h

一些flag信息的定义

Cpu0ELFObjectWriter.cpp

用来完成最终的 ELF 文件格式的写入任务

Cpu0ELFStreamer.cpp/.h

定义了一个cpu0架构的elf文件输出流类

Cpu0FixupKinds.h

重定位相关的Fixups结构的定义

Cpu0InstPrinter.cpp/.h

将Cpu0的MCInst(Machine Code Instruction)转换成可读的Cpu0汇编指令

Cpu0MCAsmInfo.cpp/.h

定义了一些汇编文件格式通用的东西

Cpu0MCCodeEmitter.cpp/.h

负责汇编指令最后发射

Cpu0MCExpr.cpp/.h

定义一些汇编阶段的符号、表达式等

Cpu0MCTargetDesc.cpp/.h

Cpu0MCTargetDesc里边包括了对Cpu0架构的详细描述,包括对td文件生成的相应的inc文件的引用,以及对Cpu0各个工具的注册

Cpu0TargetStreamer.cpp/.h

定义了一个cpu0架构的后端输出流类

Cpu0TargetInfo.cpp/.h

Cpu0TargetMachine就是为了定义Cpu0 Target供外部文件引用的

Cpu0.h

Cpu0后端全局函数的入口

Cpu0.td

Cpu0后端入口的td文件,include了其余的td文件

Cpu0AnalyzeImmediate.cpp/.h

分析一些带立即数的指令,framelowering的辅助函数

Cpu0AsmPrinter.cpp/.h

将LLVM的机器代码(Machine Code)转换成Cpu0汇编代码

Cpu0CallingConv.td

Cpu0架构的Calling Convention

Cpu0DelaySlotFiller.cpp

延迟槽插入的后端PASS

Cpu0DelUselessJMP.cpp

JMP优化的后端PASS

Cpu0FrameLowering.cpp/.h

栈桢处理相关的,包括prologue和epilogue。

Cpu0InstrFormats.td

定一个Cpu0Inst这个指令父类,以及Cpu0架构的各种指令形式

Cpu0InstrInfo.cpp/.h

对于Cpu0GenInstrInfo类的使用,td文件能定义的功能有限,还需要使用cpp文件进一步扩展。

Cpu0InstrInfo.td

定义了各种指令,以及各种匹配模式

Cpu0ISelDAGToDAG.cpp/.h

指令选择的一些接口

Cpu0ISelLowering.cpp/.h

LLVM IR转换为DAG。

Cpu0MachineFunctionInfo.cpp/.h

Cpu0架构Machine Function一些通用接口的定义

Cpu0MCInstLower.cpp/.h

将 MI 指令 lower 到 MCInst 指令的工作

Cpu0RegisterInfo.cpp/.h

对于Cpu0GenRegisterInfo类的使用,td文件能定义的功能有限,还需要使用cpp文件进一步扩展。

Cpu0RegisterInfo.td

定义了各种寄存器,以及寄存器集合

Cpu0Schedule.td

定义了指令调度策略

Cpu0SEFrameLowering.cpp/.h

栈桢处理相关的,包括prologue和epilogue。

Cpu0SEInstrInfo.cpp/.h

对于Cpu0GenInstrInfo类的使用,td文件能定义的功能有限,还需要使用cpp文件进一步扩展。

Cpu0SEISelDAGToDAG.cpp/.h

指令选择的一些接口

Cpu0SEISelLowering.cpp/.h

LLVM IR转换为DAG。

Cpu0SERegisterInfo.cpp/.h

对于Cpu0GenRegisterInfo类的使用,td文件能定义的功能有限,还需要使用cpp文件进一步扩展。

Cpu0Subtarget.cpp/.h

Cpu0架构Subtarget的定义

Cpu0TargetMachine.cpp/.h

Cpu0架构Target Machine接口的定义

Cpu0TargetObjectFile.cpp/.h

定义cpu0架构目标文件的一些配置

2.后端流程

3.待补充

之后想到了什么会继续补充

http://www.yayakq.cn/news/992433/

相关文章:

  • 广西网站建设开发wordpress做淘宝客网站
  • 网站建设+设计那种连接线厂家网站开发建设推荐
  • 傻瓜式自助建站系统网络营销案例事件
  • 网站建设报价明细模板水产网站模板
  • 网站 维护 费用编程猫少儿编程官网
  • 网站怎么做下拉刷新nas wordpress 外网访问
  • 上传网站图片不显示怎么进行网站推广
  • h5手机网站模板下载开通网站需要多少钱
  • 公司做网站要多长时间审核中国建筑公司排名前20
  • 网站后期维护费用怎样版费设计本接单大厅
  • 常熟高端网站建设自己建设的网站怎么赚钱
  • 手机网站模版微信小程序怎么制作流程
  • 郴州网站建设专业定制wordpress 首页添加链接地址
  • 有赞做网站网站开发费用包括美工费吗
  • 商城建设网站的原因舟山网站设计
  • 网站开发 开源jsp电子商务网站开发源码
  • 郑州做网站 艾特中国国际贸易网
  • 乡村建设规划网站wordpress+大附件
  • 济南网站开发xywlcn房产网站开发方案
  • 网站后台怎么替换图片wordpress nginx 伪静态规则
  • 网站建设的新闻用iis做网站
  • 厦门网站建设xm37php网站伪静态
  • 设计之家官方网站详情页怎么设计
  • 聊城网站推广动态分析建设网站的可行性分析
  • 全国小学网站建设网站空间可以自己做吗
  • 书籍设计网站推荐wordpress连接微博 破解
  • c 网站开发案例源码机关网站建设工程总结
  • 永州网站建设收费情况天猫网站设计教程
  • 泉州专业网站建设百度ai智能搜索引擎
  • 兰州做网站一咨询兰州做网站公司wordpress 添加phpmyadmin