Learn LLVM 17 : A beginner's guide to learning LLVM compiler tools and core libraries with C++, 2/e (Paperback)
暫譯: 學習 LLVM 17:C++ 的 LLVM 編譯工具與核心函式庫入門指南(第二版)
Nacke, Kai, Kwan, Amy
- 出版商: Packt Publishing
- 出版日期: 2024-01-12
- 售價: $2,010
- 貴賓價: 9.5 折 $1,910
- 語言: 英文
- 頁數: 416
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1837631344
- ISBN-13: 9781837631346
-
相關分類:
C++ 程式語言、Compiler
立即出貨 (庫存=1)
買這商品的人也買了...
-
$2,460$2,337 -
$2,540$2,413 -
$480$379 -
$580$458 -
$980$774 -
$534$507 -
$580$458 -
$580$493 -
$680$537 -
$959$911 -
$474$450 -
$862UNIX 環境高級編程, 3/e
-
$1,200$840 -
$857QEMU/KVM 源碼解析與應用
-
$286編譯技術原理及方法(慕課版)
-
$534$507 -
$390RISC-V 體系結構編程與實踐
-
$594$564 -
$1,880$1,786 -
$569C++ 之旅, 3/e
-
$534$507 -
$1,910$1,815 -
$774$735 -
$374開源RISC-V處理器架構分析與驗證
-
$458大模型應用開發 : 動手做 AI Agent
相關主題
商品描述
Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core libraries
Key Features
- Get to grips with using LLVM libraries step by step
- Understand the high-level design of LLVM compilers and apply these principles to your own compiler
- Add a new backend to target an unsupported CPU architecture
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
LLVM was built to bridge the gap between the theoretical knowledge found in compiler textbooks and the practical demands of compiler development. With a modular codebase and advanced tools, LLVM empowers developers to build compilers with ease. This book serves as a practical introduction to LLVM, guiding you progressively through complex scenarios and ensuring that you navigate the challenges of building and working with compilers like a pro.
The book starts by showing you how to configure, build, and install LLVM libraries, tools, and external projects. You'll then be introduced to LLVM's design, unraveling its applications in each compiler stage: frontend, optimizer, and backend. Using a real programming language subset, you'll build a frontend, generate LLVM IR, optimize it through the pipeline, and generate machine code. Advanced chapters extend your expertise, covering topics such as extending LLVM with a new pass, using LLVM tools for debugging, and enhancing the quality of your code. You'll also focus on just-in-time compilation issues and the current state of JIT-compilation support with LLVM. Finally, you'll develop a new backend for LLVM, gaining insights into target description and how instruction selection works.
By the end of this book, you'll have hands-on experience with the LLVM compiler development framework through real-world examples and source code snippets.
What you will learn
- Configure, compile, and install the LLVM framework
- Understand how the LLVM source is organized
- Discover what you need to do to use LLVM in your own projects
- Explore how a compiler is structured, and implement a tiny compiler
- Generate LLVM IR for common source language constructs
- Set up an optimization pipeline and tailor it for your own needs
- Extend LLVM with transformation passes and clang tooling
- Add new machine instructions and a complete backend
Who this book is for
This book is for compiler developers, enthusiasts, and engineers new to LLVM. C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials will also find this book useful. Intermediate-level experience with C++ programming is necessary to understand the concepts covered in this book.
商品描述(中文翻譯)
學習如何構建和使用完整範圍的實際編譯器,包括前端、優化管道和新的後端,利用 LLVM 核心庫的強大功能。
主要特點
- 逐步掌握使用 LLVM 庫
- 理解 LLVM 編譯器的高級設計,並將這些原則應用於自己的編譯器
- 添加新的後端以支持不受支持的 CPU 架構
- 購買印刷版或 Kindle 書籍包括免費 PDF 電子書
書籍描述
LLVM 的建立旨在彌合編譯器教科書中的理論知識與編譯器開發的實際需求之間的差距。憑藉模組化的代碼庫和先進的工具,LLVM 使開發者能夠輕鬆構建編譯器。本書作為 LLVM 的實用入門,逐步引導您通過複雜的場景,確保您像專業人士一樣應對構建和使用編譯器的挑戰。
本書首先展示如何配置、構建和安裝 LLVM 庫、工具和外部項目。接著,您將了解 LLVM 的設計,揭示其在每個編譯器階段的應用:前端、優化器和後端。使用一個實際的程式語言子集,您將構建一個前端,生成 LLVM IR,通過管道進行優化,並生成機器碼。進階章節擴展您的專業知識,涵蓋如使用新通過擴展 LLVM、使用 LLVM 工具進行調試以及提高代碼質量等主題。您還將專注於即時編譯問題以及 LLVM 的 JIT 編譯支持的當前狀態。最後,您將為 LLVM 開發一個新的後端,深入了解目標描述和指令選擇的運作方式。
在本書結束時,您將通過實際範例和源代碼片段獲得使用 LLVM 編譯器開發框架的實踐經驗。
您將學到的內容
- 配置、編譯和安裝 LLVM 框架
- 理解 LLVM 源碼的組織方式
- 發現使用 LLVM 在您自己的項目中需要做什麼
- 探索編譯器的結構,並實現一個小型編譯器
- 為常見源語言結構生成 LLVM IR
- 設置優化管道並根據自己的需求進行調整
- 使用轉換通過和 clang 工具擴展 LLVM
- 添加新的機器指令和完整的後端
本書適合誰
本書適合編譯器開發者、愛好者和新接觸 LLVM 的工程師。希望使用基於編譯器的工具進行代碼分析和改進的 C++ 軟體工程師,以及希望獲得更多 LLVM 基本知識的 LLVM 庫的普通用戶也會發現本書有用。理解本書所涵蓋的概念需要具備中級 C++ 編程經驗。
目錄大綱
- Installing LLVM
- The Structure of a Compiler
- Turning the Source File into an Abstract Syntax Tree
- Basics of IR Code Generation
- IR Generation for High-Level Language Constructs
- Advanced IR Generation
- Optimizing IR
- The TableGen Language
- JIT Compilation
- Debugging Using LLVM Tools
- The Target Description
- Instruction Selection
- Beyond Instruction Selection
目錄大綱(中文翻譯)
- Installing LLVM
- The Structure of a Compiler
- Turning the Source File into an Abstract Syntax Tree
- Basics of IR Code Generation
- IR Generation for High-Level Language Constructs
- Advanced IR Generation
- Optimizing IR
- The TableGen Language
- JIT Compilation
- Debugging Using LLVM Tools
- The Target Description
- Instruction Selection
- Beyond Instruction Selection