互联网
类型
可以朗读
语音朗读
330千字
字数
2024-09-01
发行日期
展开全部
主编推荐语
全面介绍LLVM代码生成过程。
内容简介
全书分为3篇。
第一篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。
第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以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.2 CFG的基本块与构建
- 2.3 静态单赋值
- 2.4 本章小结
- 第3章 数据流分析基础知识
- 3.1 半格、格与不动点
- 3.2 数据流分析原理及描述
- 3.3 数据流方程示例
- 3.4 扩展阅读:数据流的遍历性能分析
- 3.5 本章小结
- 第4章 支配分析
- 4.1 支配和逆支配
- 4.2 支配树和支配边界的实现
- 4.3 扩展阅读:支配树相关小课堂
- 4.4 本章小结
- 第5章 循环基本知识
- 5.1 自然循环
- 5.2 LLVM的循环实现
- 5.3 本章小结
- 第6章 TableGen介绍
- 6.1 目标描述语言
- 6.2 TableGen工具链
- 6.3 扩展阅读:如何在TD文件中定义匹配
- 6.4 本章小结
- 第二部分 代码生成
- 第7章 指令选择
- 7.1 指令选择的处理流程
- 7.2 SelectionDAGISel算法分析
- 7.3 快速指令选择算法分析
- 7.4 全局指令选择算法原理与实现
- 7.5 本章小结
- 第8章 指令调度
- 8.1 LLVM指令调度
- 8.2 Linearize调度器
- 8.3 Fast调度器
- 8.4 BURR List调度器
- 8.5 Source List调度器
- 8.6 Hybrid List调度器
- 8.7 Pre-RA-MISched调度器
- 8.8 Post-RA-TDList调度器
- 8.9 Post-RA-MISched调度器
- 8.10 循环调度
- 8.11 扩展阅读:调度算法的影响因素
- 8.12 本章小结
- 第9章 基于SSA形式的编译优化
- 9.1 前期尾代码重复
- 9.2 Phi优化
- 9.3 栈着色
- 9.4 栈槽分配
- 9.5 死指令消除
- 9.6 IPL优化之If-Conversion
- 9.7 循环不变量外提
- 9.8 公共子表达式消除
- 9.9 代码下沉
- 9.10 窥孔优化
- 9.11 本章小结
- 第10章 寄存器分配
- 10.1 寄存器分配流程解析
- 10.2 寄存器分配涉及的Pass
- 10.3 Fast算法实现
- 10.4 Basic算法实现
- 10.5 Greedy算法实现
- 10.6 PBQP算法实现
- 10.7 扩展阅读:图着色分配
- 10.8 4种算法对比
- 10.9 本章小结
- 第11章 函数栈帧生成和非SSA形式的编译优化
- 11.1 函数栈帧生成以及相关优化
- 11.2 MIR优化
- 11.3 MIR指令变换和调度
- 11.4 MIR信息收集及布局优化
- 11.5 扩展阅读:后缀树构造和应用
- 11.6 本章小结
- 第12章 生成机器码
- 12.1 MC
- 12.2 机器码生成过程
- 12.3 本章小结
- 第13章 添加一个新后端
- 13.1 适配新后端的各个阶段
- 13.2 添加新后端所需要的适配
- 13.3 本章小结
- 附录
- 附录A LLVM的中间表示
- A.1 狭义LLVM IR介绍
- A.2 指令选择DAG介绍
- A.3 MIR介绍
- A.4 MC介绍
- A.5 GMIR介绍
- 附录B BPF介绍
- B.1 eBPF基础
- B.2 Linux如何运行eBPF
- 附录C Pass的分类与管理
- C.1 LegacyPassManage中的Pass
- C.2 LegacyPassManager对Pass的管理
- C.3 New PassManager
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。