LLVM Cookbook 中文版
✍ Scribed by Mayur Pandey; Suyog Sarda; 王欢明
- Publisher
- 电子工业出版社
- Year
- 2016
- Tongue
- Chinese
- Leaves
- 307
- Category
- Library
No coin nor oath required. For personal study only.
✦ Table of Contents
扉页......Page 1
版权页......Page 2
译者序......Page 3
关于作者......Page 5
关于审校者......Page 6
目录......Page 7
前言......Page 11
概述......Page 15
模块化设计......Page 16
交叉编译Clang/LLVM......Page 20
将C源码转换为LLVM汇编码......Page 22
将LLVM IR转换为bitcode......Page 23
将LLVM bitcode转换为目标平台汇编码......Page 26
将LLVM bitcode转回为LLVM汇编码......Page 28
转换LLVM IR......Page 29
链接LLVM bitcode......Page 32
执行LLVM bitcode......Page 33
使用C语言前端——Clang......Page 34
使用GO语言前端......Page 38
使用DragonEgg......Page 39
概述......Page 43
定义TOY语言......Page 44
实现词法分析器......Page 46
定义抽象语法树......Page 49
实现语法分析器......Page 52
解析简单的表达式......Page 53
解析二元表达式......Page 56
为解析编写驱动......Page 59
对TOY语言进行词法分析和语法分析......Page 61
为每个AST类定义IR代码生成方法......Page 62
为表达式生成IR代码......Page 63
为函数生成IR代码......Page 65
增加IR优化支持......Page 69
概述......Page 71
处理条件控制结构——if/then/else结构......Page 72
生成循环结构......Page 78
处理自定义二元运算符......Page 85
处理自定义一元运算符......Page 91
增加JIT支持......Page 97
概述......Page 101
多级优化......Page 102
自定义LLVM Pass......Page 103
使用opt工具运行自定义Pass......Page 106
在新的Pass中调用其他Pass......Page 107
使用Pass管理器注册Pass......Page 110
实现一个分析Pass......Page 113
实现一个别名分析Pass......Page 116
使用其他分析Pass......Page 119
概述......Page 123
编写无用代码消除Pass......Page 124
编写内联转换Pass......Page 129
编写内存优化Pass......Page 133
合并LLVM IR......Page 135
循环的转换与优化......Page 137
表达式重组......Page 140
IR向量化......Page 141
其他优化Pass......Page 148
概述......Page 153
LLVM IR指令的生命周期......Page 154
使用GraphViz可视化LLVM IR控制流图......Page 157
使用TableGen描述目标平台......Page 164
定义指令集......Page 165
添加机器码描述......Page 166
实现MachineInstrBuilder类......Page 170
实现MachineBasicBlock类......Page 171
实现MachineFunction类......Page 173
编写指令选择器......Page 174
合法化SelectionDAG......Page 180
优化SelectionDAG......Page 187
基于DAG的指令选择......Page 193
基于SelectionDAG的指令调度......Page 200
概述......Page 205
消除机器码公共子表达式......Page 206
活动周期分析......Page 217
寄存器分配......Page 223
插入头尾代码......Page 229
代码发射......Page 233
尾调用优化......Page 235
兄弟调用优化......Page 239
概述......Page 241
定义寄存器和寄存器集合......Page 242
定义调用约定......Page 244
定义指令集......Page 245
实现栈帧lowering......Page 246
打印指令......Page 250
选择指令......Page 254
增加指令编码......Page 258
子平台支持......Page 260
多指令lowering......Page 263
平台注册......Page 265
LLVM中的异常处理......Page 279
使用sanitizer......Page 285
使用LLVM编写垃圾回收器......Page 287
将LLVM IR转换为JavaScript......Page 293
使用Clang静态分析器......Page 295
使用bugpoint......Page 296
使用LLDB......Page 300
使用LLVM通用Pass......Page 305
📜 SIMILAR VOLUMES
<p>SQL 是计算机世界的语言,在用关系数据库开发报表时,将数据放入数据库以及从数据库中取出来,都需要SQL 的知识。很多人以一种马马虎虎的态度在使用SQL,根本没有意识到自己掌握着多么强大的武器。本书的目的是打开读者的视野,看看SQL 究竟能干什么,以改变这种状况。</p> <p>本书是一本指南,其中包含了一系列SQL 的常用问题以及它们的解决方案,希望能对读者的日常工作有所帮助。本书将相关主题的小节归成章,如果读者遇到不能解决的SQL 新问题,可以先找到最可能适用的章,浏览其中各小节的标题,希望读者能从中找到解决方案,至少可以找到点灵感。</p> <p>在这本书中有150 多个小节,
书签已装载, 书签制作方法请找 [email protected] 完全免费