reklama - zainteresowany?

How to Build an LLVM Backend. A practical guide to engineering your own LLVM-IR-to-assembly-code compiler - Helion

How to Build an LLVM Backend. A practical guide to engineering your own LLVM-IR-to-assembly-code compiler
ebook
Autor: Quentin Colombet
Tytuł oryginału: How to Build an LLVM Backend. A practical guide to engineering your own LLVM-IR-to-assembly-code compiler
ISBN: 9781835462577
Format: ebook
Księgarnia: Helion

Cena książki: 119,00 zł

Książka będzie dostępna od kwietnia 2025

The LLVM infrastructure is a popular compiler ecosystem widely used in the tech industry and academia. This technology is crucial for both experienced and aspiring compiler developers looking to make an impact in the field. Written by Quentin Colombet, a veteran LLVM contributor and architect of the GlobalISel framework, this book provides a primer on the main aspects of LLVM, with an emphasis on its backend infrastructure; that is, everything needed to transform the intermediate representation (IR) produced by frontends like Clang into assembly code and object files.
You’ll learn how to write an optimizing code generator for a toy backend in LLVM. The chapters will guide you step by step through building this backend while exploring key concepts, such as the ABI, cost model, and register allocation. You’ll also find out how to express these concepts using LLVM's existing infrastructure and how established backends address these challenges. Furthermore, the book features code snippets that demonstrate the actual APIs.
By the end of this book, you’ll have gained a deeper understanding of LLVM. The concepts presented are expected to remain stable across different LLVM versions, making this book a reliable quick reference guide for understanding LLVM.

Spis treści

How to Build an LLVM Backend. A practical guide to engineering your own LLVM-IR-to-assembly-code compiler eBook -- spis treści

  • 1. Building LLVM, Understanding the Directory Structure
  • 2. Compiler Basics and How They Map to LLVM Structures
  • 3. Dealing with the Pass Pipeline
  • 4. TableGen: LLVM's Swiss Army Knife for Modeling
  • 5. Understanding LLVM IR
  • 6. Survey of the Existing Passes
  • 7. Introducing Target-Specific Constructs - Custom Passes, Intrinsic, Cost Model
  • 8. Hands-On Debugging LLVM IR Passes
  • 9. Understanding MachineIR
  • 10. Machine Pass Pipeline - Hypothesis, Optimizations, and Target Hooks
  • 11. Legacy Instruction Selection Framework - SelectionDAG
  • 12. The New Instruction Selection Framework - GlobalISel
  • 13. Instruction Scheduling - Data Dependency Graph and Scheduling Model
  • 14. Register Allocation - Coalescing, Spilling, and Register Assignment
  • 15. Hands-On Debugging MachineIR Passes
  • 16. Understanding MC
  • 17. Building the Assembler - Disassembler
  • 18. Running Analysis on the MC Layer
  • 19. Register Allocation
  • 20. Lowering of the Stack Layout
  • 21. Assembler

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.