书籍详情
《 深入理解LLVM:代码生成 彭成寒 李灵 戴贤泽 王志磊 俞佳嘉》[57]百度网盘|亲测有效|pdf下载
  • 深入理解LLVM:代码生成 彭成寒 李灵 戴贤泽 王志磊 俞佳嘉

  • 出版社:机械工业出版社
  • 作者:彭成寒 李灵 戴贤泽 王志磊 俞佳嘉
  • 出版时间:2024-10-09
  • 热度:2578
  • 上架时间:2025-03-08 06:13:50
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

编辑推荐

1)主流新版LLVM详解:本书以LLVM 15版本为核心,深入剖析其内部机制,帮助读者掌握前沿的编译器技术。2)提供配套代码仓库:提供专门的代码仓库镜像,确保读者能够轻松获取并编译书中使用的LLVM版本,实现理论与实践相结合。3)LLVM IR从入门到精通:详尽介绍LLVM IR的基础知识及其设计原理,引导初学者快速上手,进阶至专业水平。4)提供BPF后端实战案例:选用BPF作为示例后端,通过精简的代码示例讲解代码生成的关键步骤,易于理解和跟踪。5)丰富的示例与资源:配套大量示例代码,涵盖C/C 、LLVM IR等多种语言和中间表示形式,并遵循统一命名规则,方便验证学习成果。

 
内容简介

全书分为3篇。第1篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以BPF后端为例总结了如何基于LLVM开发一款新后端的编译器。第三篇附录主要总结了LLVM代码生成过程中使用的IR、BPF指令集以及如何在Linux运行BPF应用,Pass和PassManager的运行机制等知识。通过阅读本书,读者理解和掌握LLVM代码生成过程,可以根据本书指导为基于LLVM开发一款新后端的编译器。同时本书还介绍了各种编译过程中使用到的算法,读者可以根据场景对算法进行增强从而达到性能优化目的。

作者简介
彭成寒:AI编译器与虚拟机技术专家,目前主要专注于LLVM、MLIR相关的AI编译器研究,并在JVM、V8和WebAssembly等虚拟机技术方面有着丰富的研发经验。他深耕IT领域近20年,曾涉足应用软件和大数据开发等多个领域,并著有《JVM G1源码分析和调优》《新一代垃圾回收器ZGC设计与实现》《深入探索JVM垃圾回收:ARM服务器垃圾回收的挑战和优化》等重要领域专著。
李灵:毕业于上海交通大学,拥有6年编译器和虚拟机相关的研发工作经验,深度参与了多项LLVM编译器及V8、WebAssembly虚拟机等开源项目的研发工作,目前正在从事AI编译器研发工作。
戴贤泽:毕业于南京理工大学,拥有7年编译器和虚拟机相关工作经验,深入参与了方舟编译器及V8、WebAssembly虚拟机等开源项目的研发工作,目前正在从事编译器和虚拟机的设计与研发工作。
王志磊:毕业于浙江大学,拥有6年编译器和虚拟机相关的研发工作经验,参与了多项编译器及虚拟机的开发项目,并为llvm-bolt、V8、WebAssembly等开源项目贡献代码,目前专注于虚拟机相关的研发,精通AOT和JIT技术。
目  录
目  录  Contents
前言
第一部分 基础知识
第1章 绪论2
1.1 LLVM设计思路分析3
1.2 LLVM主要子项目4
1.3 LLVM构建与调试5
1.4 LLVM在线工具7
1.5 本章小结9
第2章 IR基础知识10
2.1 IR分类11
2.1.1 树IR11
2.1.2 线性IR11
2.1.3 图IR12
前  言
Preface 前  言
为何写作本书
编译器一端连接着高级编程语言,另一端连接着硬件,近年来这两端的发展都极为迅猛,例如涌现不少新型编程语言(如Rust、Swift等高级语言),所以经常需要实现特定的编译器。另外,由于摩尔定律失效,为了追求性能,领域专用的处理器也越来越流行,新型硬件也需要编译器支持。
成熟的编译器可能是最为复杂的软件系统之一,例如最为流行的GCC、LLVM、JVM等产品的发展都超过了20年,它们的代码量都达到了几百万甚至上千万行。除了工程实现的复杂性,编译器中涉及的数学理论、优化算法、代码生成等知识的复杂性也是其他软件系统无法比拟的。读者熟知的很多高级算法都能在编译器中找到。这些都导致开发和学习编译器非常困难。

相关推荐