购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

内容简介

本书由国内某大厂资深编译器团队撰写,将多年研究与实践积累倾囊传授给读者,是深入研究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的管理等。 jRA9GHkS1PPpYGkJQld+6g05mW0hJnLmcqMoIeH/1aGqrqt9IvHwAk3hTdG0Hqpk

点击中间区域
呼出菜单
上一章
目录
下一章
×