图书介绍
LLVM Cookbook中文版PDF|Epub|txt|kindle电子书版本网盘下载
![LLVM Cookbook中文版](https://www.shukui.net/cover/72/33484823.jpg)
- (印)MayurPandey,(印)SuyogSarda著;王欢明译 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121288470
- 出版时间:2016
- 标注页数:294页
- 文件大小:24MB
- 文件页数:309页
- 主题词:编译程序-程序设计
PDF下载
下载说明
LLVM Cookbook中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 LLVM设计与使用1
概述1
模块化设计2
交叉编译Clang/LLVM6
将C源码转换为LLVM汇编码8
将LLVM IR转换为bitcode9
将LLVM bitcode转换为目标平台汇编码12
将LLVM bitcode转回为LLVM汇编码14
转换LLVM IR15
链接LLVM bitcode18
执行LLVM bitcode19
使用C语言前端——Clang20
使用GO语言前端24
使用DragonEgg25
第2章 实现编译器前端29
概述29
定义TOY语言30
实现词法分析器32
定义抽象语法树35
实现语法分析器38
解析简单的表达式39
解析二元表达式42
为解析编写驱动45
对TOY语言进行词法分析和语法分析47
为每个AST类定义IR代码生成方法48
为表达式生成IR代码49
为函数生成IR代码51
增加IR优化支持55
第3章 扩展前端并增加JIT支持57
概述57
处理条件控制结构——if/then/else结构58
生成循环结构64
处理自定义二元运算符71
处理自定义一元运算符77
增加JIT支持83
第4章 准备优化87
概述87
多级优化88
自定义LLVM Pass89
使用opt工具运行自定义Pass92
在新的Pass中调用其他Pass93
使用Pass管理器注册Pass96
实现一个分析Pass99
实现一个别名分析Pass102
使用其他分析Pass105
第5章 实现优化109
概述109
编写无用代码消除Pass110
编写内联转换Pass115
编写内存优化Pass119
合并LLVM IR121
循环的转换与优化123
表达式重组126
IR向量化127
其他优化Pass134
第6章 平台无关代码生成器139
概述139
LLVM IR指令的生命周期140
使用GraphViz可视化LLVM IR控制流图143
使用TableGen描述目标平台150
定义指令集151
添加机器码描述152
实现MachineInstrBuider类156
实现MachineBasicBlock类157
实现MachineFunction类159
编写指令选择器160
合法化SelectionDAG166
优化SelectionDAG173
基于DAG的指令选择179
基于SelectionDAG的指令调度186
第7章 机器码优化191
概述191
消除机器码公共子表达式192
活动周期分析203
寄存器分配209
插入头尾代码215
代码发射219
尾调用优化221
兄弟调用优化225
第8章 实现LLVM后端227
概述227
定义寄存器和寄存器集合228
定义调用约定230
定义指令集231
实现栈帧lowering232
打印指令236
选择指令240
增加指令编码244
子平台支持246
多指令lowering249
平台注册251
第9章 LLVM项目最佳实践265
概述265
LLVM中的异常处理265
使用sanitizer271
使用LLVM编写垃圾回收器273
将LLVM IR转换为JavaScript279
使用Clang静态分析器281
使用bugpoint282
使用LLDB286
使用LLVM通用Pass291