前言:LLVM后端主要涉及IR语言的优化及优化算法和平台相关代码的生成;主要涉及从IR代码到系统代码的主要部分;这部分预计会分以下几个章节:
- LLVM后端概述:LLVM后端的一些基本理论知识
- 后端文件组织形式:相关源文件和目标文件构成
- 后端相关知识:主要讲解Pass和TableGen,因为IR过于庞大,暂时先省略
- LLVM平台无关代码生成器:
- 编写完整后端代码的大致过程:
- MCJIT的设计与实现:
- 交叉平台编译:
因为本人能力有限,很多东西也还在学习中。虽然还算努力,但无奈头脑愚钝,错误之处在所难免。如果有错误之处,务必指正,小弟必会虚心学习。
参考文档:http://llvm.org/docs/WritingAnLLVMBackend.html
http://llvm.org/docs/TableGen/index.html
LLVM涉及的其他方面:Pass、TableGen文件、IR
- LLVM后端概述<

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

被折叠的 条评论
为什么被折叠?



