搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入理解LLVM(代码生成)
0.00     定价 ¥ 109.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111764151
  • 作      者:
    作者:彭成寒//李灵//戴贤泽//王志磊//俞佳嘉|责编:杨福川
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2024-09-01
收藏
畅销推荐
内容介绍
本书由国内某大厂资深编译器团队撰写,将多年研究与实践积累倾囊传授给读者,是深入研究LLVM的不二之选。为了便于读者理解,作者团队不但亲自手绘将近300幅图,更是结合200段LLVM代码进行实现分析,极力降低理解门槛。具体而言,本书系统介绍与体系结构无关的编译基础知识、TableGen工具,深入剖析LLVM代码生成的原理与每一步执行的细粒度实现,并指导读者基于BPF为LLVM添加新后端。读后会对整个LLVM的代码生成体系和实现有深刻理解,可以解决多种业务问题。 全书共13章,分为两部分。第一部分(第1~6章)是基础知识,介绍了LLVM项目、常见的IR(重点介绍SSA)、数据流分析、支配分析、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二部分(第7~13章)是代码生成,涵盖了LLVM代码生成的每一个步骤,着重介绍了指令选择、指令调度、SSA形式的编译优化、寄存器分配、函数栈帧生成及非SSA形式的编译优化、机器码生成,最后以BPF后端为例介绍如何为LLVM添加一个新后端。另外,附录部分主要总结了LLVM代码生成过程中使用的IR、BPF指令集,如何在Linux中运行BPF应用,以及Pass和PassManager的管理等。
展开
目录
前言
第一部分 基础知识
第1章 绪论
1.1 LLVM设计思路分析
1.2 LLVM主要子项目
1.3 LLVM构建与调试
1.4 LLVM在线工具
1.5 本章小结
第2章 IR基础知识
2.1 IR分类
2.1.1 树IR
2.1.2 线性IR
2.1.3 图IR
2.2 CFG的基本块与构建
2.2.1 基本块
2.2.2 构建CFG
2.3 静态单赋值
2.3.1 基本概念
2.3.2 SSA构造
2.3.3 SSA析构
2.3.4 SSA分类
2.3.5 基本块参数和Phi节点
2.4 本章小结
第3章 数据流分析基础知识
3.1 半格、格与不动点
3.1.1 半格和偏序集
3.1.2 格
3.1.3 不动点
3.2 数据流分析原理及描述
3.2.1 数据流方程形式化描述
3.2.2 数据流分析的理论描述
3.3 数据流方程示例
3.3.1 活跃变量
3.3.2 到达定值
3.3.3 常量传播
3.4 扩展阅读:数据流的遍历性能分析
3.5 本章小结
第4章 支配分析
4.1 支配和逆支配
4.1.1 支配和逆支配相关定义
……
第二部分 代码生成
附录
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证