华为方舟编译器之美:基于开源代码的架构分析与实现
- ISBN:9787302562627
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:204
- 出版时间:2020-09-01
- 条形码:9787302562627 ; 978-7-302-56262-7
本书特色
编译器作为中国软件发展的关键环节,非常受重视。华为选择研发和开源方舟编译器,为国内的编译器发展起到了很大的推动作用。方舟编译器作为一个工业级的编译器,对于其进行研究和分析,将非常有利于推动国内编译器产业的发展。本书基于方舟编译器开源代码的V0.2.1版本,从方舟编译器的开源进程与前景谈起,覆盖了V0.2.1版本所开源的所有核心内容。在*后,还对如何参与方舟编译器社区的建设给出了指引。本书有助于读者对方舟编译器的学习和理解,推动方舟编译器的普及和发展。 方舟编译器创始人叶寒栋作序!全面分析方舟编译器的架构与关键功能的实现!助力读者开启编译器的探索旅程!
内容简介
华为方舟编译器自面世以来,在业界乃至互联网科技圈引发了巨大的反响。作为一款靠前研发的大型工业编译器,方舟编译器从一开始就承载了众多期望。方舟编译器开源之后,业界不少同仁开始分析方舟编译器的架构和实现,本书也是这时候开始编写的。 本书基于方舟编译器开源代码的V0.2.1版本,从方舟编译器的开源进程与前景谈起,介绍方舟编译器的构建、总体架构、IR设计、Maple IR的处理、Me体系、phase体系的设计与实现等内容,覆盖了V0.2.1版本所开源的所有核心内容。在很后,还对如何参与方舟编译器社区的建设给出了指引。 总体而言,本书既有对整体架构的分析,又有对整体架构实现以及重点内容代码实现的介绍,可以帮助读者快速的了解方舟编译器的开源代码,让读者更加方便的参与到方舟编译器的建设和使用之中。
目录
目录
第1章方舟编译器的前世今生00
1.1方舟编译器的开源进程00
1.2方舟编译器的前景00
第2章方舟编译器的构建00
2.1方舟编译器构建体系00
2.2方舟编译器源码编译0
2.3方舟编译器官方例子编译0
2.4Toy runtime简介0
第3章方舟编译器总体介绍0
3.1方舟编译器的架构0
3.2方舟编译器源码目录0
3.2.1一级目录0
3.2.2src目录介绍0
3.3方舟编译器文档0
3.4方舟编译器的执行流程0
第4章中间表示0
4.1IR简介0
4.2三地址码0
4.3SSA0
第5章方舟编译器IR的设计与实现0
5.1Maple IR设计的起源与思想0
5.2Maple IR的结构0
5.3Maple IR结构表示代码0
5.4Maple IR中的基本类型的设计与实现0
5.4.1基本类型的设计0
华为方舟编译器之美——基于开源代码的架构分析与实现
目录
0
0
5.4.2Maple IR基本类型的实现0
5.5Maple IR中的控制流语句的设计与实现0
5.5.1控制流语句的设计0
5.5.2控制流语句的实现0
第6章方舟编译器IR与其他编译器IR的横向对比0
6.1Maple IR与LLVM IR的对比0
6.1.1Maple IR与LLVM IR的结构对比0
6.1.2Maple IR与LLVM IR的类型对比0
6.1.3Maple IR与LLVM IR中module层面的
信息对比0
6.2Maple IR与WHIRL IR的对比0
6.2.1Maple IR与WHIRL IR的基本类型对比0
6.2.2Maple IR与WHIRL IR的控制流语句对比0
第7章Maple IR 的处理流程分析0
7.1Maple IR的整体处理流程0
7.2Maple IR的 build类0
7.3Maple IR的符号表0
7.4Maple IR的寄存器实现0
7.5Maple IR的lower处理0
7.5.1if语句的向下转换0
7.5.2while和dowhile语句的向下转换0
7.5.3doloop语句的向下转换
第8章Me体系实现
8.1MeFunction实现
8.2MeCFG实现
8.3BB实现
8.4MeStmt实现
8.5MeExpr实现
第9章方舟编译器phase体系的设计与实现
9.1phase体系的总体设计与实现
9.2phase的注册与新增
9.3phase的运行机制
9.4ModulePhase的设计与实现
9.5MeFuncPhase的设计与实现
9.6DriverRunner的调用
第10章phase实例分析
10.1ModulePhase类phase的实现与运行
10.2ModulePhase之classhierarchy分析
10.3MeFuncPhase类phase的执行前准备
10.4MeFuncPhase类的phase的返回分析
10.5MeFuncPhase之dominance分析
10.6MeFuncPhase之ssaTab分析
10.7MeFuncPhase之ssa分析
第11章如何参与方舟编译器社区
附录A方舟编程体系
参考文献
后记
作者简介
史宁宁,中国科学院软件研究所智能软件研究中心PLCT实验室项目主管。吉林大学计算机学院硕士。2012年起作为核心开发人员和项目经理参与组织开发多个编译器项目。长期坚持撰写技术博客,其中“LLVM每日谈”“方舟编译器学习笔记”等系列影响较大,曾出版图书1部。目前活跃在HelloGCC/HelloLLVM、方舟编译器等开源社区。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0