展开全部

主编推荐语

全面介绍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、科普以及教材、教辅等领域。