- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
llvm编译器实战教程第⼆版_ LLVM编译器实战教程
出版者的话
译者序
前⾔
关于作者
关于审稿⼈
第 1章 构建和安装 VM 1
1.1 了解 VM版本 1
1.2 获取预构建包 2
1.2.1 获取官⽅预构建⼆进制⽂件 2
1.2.2 使⽤软件包管理器 3
1.3 从源代码构建 4
1.3.1 系统要求 4
1.3.2 获取源代码 4
1.3.3 构建和安装 VM 5
1.3.4 Windows和Microsoft Visual Studio 10
1.3.5 Mac OS X和Xcode 12
1.4 总结 14
第2章 外部项 ⽬ 15
2.1 Clang外部项 ⽬介绍 15
2.1.1 构建和安装Clang外部⼯具 16
2.1.2 理解Compiler-RT 17
2.1.3 实验Compiler-RT 17
2.2 使⽤DragonEgg插件 18
2.2.1 构建DragonEgg 19
2.2.2 使⽤DragonEgg和 VM⼯具了解编译流程 19
2.2.3 理解 VM测试套件 20
2.2.4 使⽤ DB 2 1
2.2.5 libc++标准库介绍 23
2.3 总结 25
第3章 ⼯具和设计 26
3.1 VM的基本设计原理及其历史 26
3.2 理解 ⽬前的 VM 27
3.3 与编译器驱动程序交互 29
3.4 使⽤独⽴⼯具 30
3.5 深⼊ VM内部设计 33
3.5.1 了解 VM的基本库 33
3.5.2 介绍 VM的C++惯例 34
3.5.3 演⽰可插拔的流程接⼝ 37
3.6 编写你的第⼀个 VM项 ⽬ 38
3.6.1 编写Makefile 38
3.6.2 编写代码 40
3.7 关于 VM源代码的⼀般建议 4 1
3.7.1 将代码理解为⽂档 42
3.7.2 请求社区的帮助 42
3.7.3 应对更新 :使⽤SVN⽇志作为⽂档 42
3.7.4 结束语 44
3.8 总结 44
第4章 前端 45
4.1 Clang简介 45
4.1.1 前端操作 46
4.1.2 库 47
4.1.3 理解Clang诊断 49
4.2 Clang前端阶段介绍 52
4.2.1 词法分析 52
4.2.2 语法分析 58
4.2.3 语义分析 63
4.2.4 ⽣成 VM IR代码 65
4.3 完整的例⼦ 65
4.4 总结 68
第5章 VM中间表⽰ 69
5.1 概述 69
5.2 操作IR格式的基本⼯具⽰例 7 1
5.3 VM IR语法介绍 7 1
5.4 编写⾃定义的 VM IR⽣成器 76
5.4.1 构建和运⾏IR⽣成器 79
5.4.2 使⽤C++后端编写代码来⽣成IR构造 80
5.5 在IR层执⾏优化 80
5.5.1 编译时优化和链接时优化 80
5.5.2 发现最佳编译器流程 82
5.5.3 流程间的依赖关系 83
5.5.4 了解流程API 85
5.5.5 ⾃定义流程 85
5.6 总结 89
第6章 后端 90
6.1 概述 90
6.2 后端代码结构介绍 92
6.3 后端库介绍 93
6.4 如何使⽤TableGen实现 VM后端 94
6.4.1 TableGen语⾔ 95
6.4.2 代码⽣成器.td⽂件介绍 96
6.5 指令选择阶段介绍 100
6.5.1 SelectionDAG类 100
6.5.2 降级 102
6.5.3 DAG合并以及合法化 103
6.5.4 DAG到DAG指令选择 104
6.5.5 指令选择过程可视化 107
6.5.6 快速指令选择 107
6.6 调度器 107
6.6.1 指令执⾏进程表 108
6.6.2 竞争检测 109
6.6.3 调度单元 109
6.7 机器指令 109
6.8 寄存器分配 110
6.8.1 寄存器合并器 111
6.8.2 虚拟寄存器重写 114
6.8.3 编译 ⽬标的信息 115
1亿VIP精品文档
相关文档
最近下载
- 2023年拟任县处级党政领导职务政治理论水平任职资格考试题库(含答案).pdf VIP
- 党章专题党课.ppt VIP
- 以学铸魂坚定理想信念推动主题教育取得实实在在的成效PPT坚定理想信念铸牢对党忠诚站稳人民立场PPT课件(带内容).pptx VIP
- 风电场集中控制通讯系统102规约--2012.12.25.pdf
- 质量控制与安全防护管理机构及专(兼)职管理人员名单.doc
- 2020年生鲜投标文件.pdf VIP
- 《现代大学英语精读1》第六课the green banana教学提纲.ppt
- 《乌有先生历险记》挖空训练学生版.pdf
- 2019北师大版高中英语选择性必修二单词表.docx
- 大学生职业生涯规划报告.pdf
文档评论(0)