LLVM代码研读(3) --- LLVM后端(1): 概述

本文介绍了LLVM后端的基本理论和流程,包括指令选择、指令调度、寄存器分配和代码发行等阶段。LLVM后端将IR指令转换为设备相关的DAG,通过优化和合法化过程生成目标代码。讲解了如InstructionSelection的树模式匹配、InstructionScheduling的表调度和RegisterAllocation的图着色算法。llc工具则负责将LLVM IR转化为特定架构的代码。
摘要由CSDN通过智能技术生成

前言LLVM后端主要涉及IR语言的优化及优化算法和平台相关代码的生成;主要涉及从IR代码到系统代码的主要部分;这部分预计会分以下几个章节:

  • LLVM后端概述:LLVM后端的一些基本理论知识
  • 后端文件组织形式:相关源文件和目标文件构成
  • 后端相关知识:主要讲解PassTableGen,因为IR过于庞大,暂时先省略
  • LLVM平台无关代码生成器:
  • 编写完整后端代码的大致过程:
  • MCJIT的设计与实现:
  • 交叉平台编译:

因为本人能力有限,很多东西也还在学习中。虽然还算努力,但无奈头脑愚钝,错误之处在所难免。如果有错误之处,务必指正,小弟必会虚心学习。

参考文档:http://llvm.org/docs/WritingAnLLVMBackend.html

http://llvm.org/docs/TableGen/index.html

LLVM涉及的其他方面:PassTableGen文件、IR

  1. LLVM后端概述
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值