LLVM Code Generation | A deep dive into compiler backend development
Language: English
Published by Packt Publishing, 2025
- Softcover
- New

Condition: New
US$ 75.39
Quantity: 5 available
Add to basketItem description from seller
LLVM Code Generation | A deep dive into compiler backend development | Quentin Colombet | Taschenbuch | Englisch | 2025 | Packt Publishing | EAN 9781837637782 | Verantwortliche Person für die EU: Libri GmbH, Europaallee 1, 36244 Bad Hersfeld, gpsr[at]libri[dot]de | Anbieter: preigu Print on Demand.
Seller Inventory # 133346442
- Title
- LLVM Code Generation | A deep dive into compiler backend development
- Author
- Quentin Colombet
- Publisher
- Packt Publishing
- Publication year
- 2025
- Condition
- Neu
- Binding
- Taschenbuch
- Language
- English
- ISBN 10
- 1837637784
- ISBN 13
- 9781837637782
- Item weight
- 1,140 grams
- Dimensions
- 235 x 191 x 34 mm
- Seller catalogs
- Bücher
“If you're working in or interested in LLVM and code generation, this book should definitely be on your list. Highly recommended!” -Yacob (Kobi) Cohen Arazi, Software Engineer at NVIDIA.
“If you're passionate about compilers and eager to stay ahead in this dynamic field, I highly recommend giving this book a read.” -Arya Mazaheri, Co-founder of PanocularAI
“I think that this book will lower the access barrier to LLVM significantly and very quickly be on the desks of compiler engineers and students.” -Sebastian Hac, Professor (Compilers) at Saarland University
Key Features
- Understand the steps involved in generating assembly code from LLVM IR
- Learn the key constructs needed to leverage LLVM for your hardware or backend
- Strengthen your understanding with targeted exercises and practical examples in every chapter
Book Description
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.
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.
What you will learn
- Understand essential compiler concepts, such as SSA, dominance, and ABI
- Build and extend LLVM backends for creating custom compiler features
- Optimize code by manipulating LLVM's Intermediate Representation
- Contribute effectively to LLVM open-source projects and development
- Develop debugging skills for LLVM optimizations and passes
Who this book is for
This book is for both beginners to LLVM and experienced LLVM developers. If you’re new to LLVM, it offers a clear, approachable guide to compiler backends, starting with foundational concepts. For seasoned LLVM developers, it dives into less-documented areas such as TableGen, MachineIR, and MC, enabling you to solve complex problems and expand your expertise. Whether you’re starting out or looking to deepen your knowledge, this book has something for you.
Table of Contents
- Building LLVM and Understanding the Directory Structure
- Contributing to LLVM
- Compiler Basics and How They Map to LLVM APIs
- Writing Your First Optimization
- Dealing with Pass Managers
- TableGen – LLVM Swiss Army Knife for Modeling
- Understanding LLVM IR
- Survey of the Existing Passes
- Introducing Target-Specific Constructs
- Hands-On Debugging LLVM IR Passes
- Legacy Instruction Selection Framework - SelectionDAG
- Getting Started with the Machine Code Layer
- The Machine Pass Pipeline
- Getting Started with Instruction Selection
- Instruction Selection: The IR Building Phase
- Instruction Selection: The Legalization Phase
"Synopsis" may belong to another edition of this title.
About the Author
Quentin Colombet is a veteran LLVM contributor specializing in compiler backends. He is the architect of the new instruction selection framework (GlobalISel) and code owner of the LLVM register allocators. With over two decades of experience, he has worked on compiler backends for a variety of architectures, including GPU, CPU, microcontrollers, DSP, and ASICs. Quentin joined Apple in 2012 and has contributed to x86, Aarch64, and Apple GPU backends. He is passionate about helping newcomers onboard the LLVM infrastructure, having mentored interns and new hires over the years.
"About the title" may belong to another edition of this title.
Shipping rates from Germany to U.S.A.
| Item | 60 to 60 business days | 60 to 60 business days |
|---|---|---|
| First item | US$ 78.10 | US$ 78.10 |
Payment methods
- Paypal
Store description
preigu betreibt einen Onlineversandhandel mit über 1 Mio. Produkten in verschiedenen Sortimenten. Das Kernsortiment besteht aus Büchern, Medien und Spielwaren. Ein gelungenes Einkaufserlebnis ist das Ziel einer jeden Bestellung bei preigu, denn der Kunde und seine Zufriedenheit stehen an erster Stelle. preigu setzt daher auf einen kompetenten Kundenservice, funktionierende Prozesse und schnelle Reaktion.
Specialty
Bücher, SpielwarenSeller's business information
preigu GmbH & Co. KG
Lengericher Landstraße 19
Osnabrück, Germany 49078
Terms of sale
Standard Business Terms and customer information
I. Standard business terms
§ 1 Basic provisions
(1) The following terms and conditions of business apply for all contracts concluded with us as the supplier (preigu GmbH & Co. KG) via the websites AbeBooks and/or ZVAB. Unless otherwise agreed, the inclusion of your own terms and conditions is explicitly rejected.
(2) A ‘consumer' in the sense of the following regulations is every natural person who concludes a legal transaction which, to an overwhelming extent, cannot be attributed to either his commercial or independent professional activities. The term ‘businessman' refers to every natural person, legal person or legally responsible partnership that concludes a legal transaction in pursuance of his/its independent professional or commercial activity.
§ 2 Conclusion of the contract
(1) The subject-matter of the contract is the selling of products .
(2) If an article is placed by us with AbeBooks or ZVAB, the activation of the page on AbeBooks or ZVAB shall involve the binding offer to conclude a contract under the terms and conditions contained in the article page.
(3) The contract shall become effective via the online shopping cart system as follows:
The products intended for purchase are moved to the "shopping cart". You can select the "Shopping Cart" using the appropriate buttons on the navigation bar and make changes there at any time.
After calling up the "Checkout" page and entering the required personal data and payment and shipping conditions, all order information is then displayed again on the order summary page.
Before submitting the order, you have the ability once more to review or change any information here (you may also use the "back" button on the Internet browser), or to cancel the purchase.
By clicking the "Buy now" button to submit the order, you declare your legally binding acceptance of the order which makes the contract effective.
(4) The execution of the order and the sending of all the details necessitated by the conclusion of the contract take place via e-mail, in a partially-automated manner. Consequently, you have to ensure that the e-mail address that you have deposited with us is the correct one, and that the receipt of the respective e-mails is guaranteed. In particular, you have to ensure that the respective e-mails are not blocked by a SPAM filter.
§ 3 Right of retention, reservation of proprietary rights
(1) You can only exercise a right of retention if the situation in question involves claims arising from the same contractual relationship.
(2) The goods remain our property until the purchase price is paid in full.
§ 4 Warranty
(1) The statutory warranty rights are applicable.
(2) As a consumer, you are requested to promptly check the product for completeness, visible defects and transport damage as soon as it is delivered, and promptly disclose your complaints to us and the shipping company in writing. Even if you do not comply with this request, it shall have no effect on your legal warranty claims.
(3) If a characteristic of the goods deviates from the objective requirements, the deviation shall only be deemed to be agreed if you were informed of the same by us before submitting the contractual declaration and the deviation was expressly and separately agreed between the contracting parties.
§ 5 Choice of law, place of fulfilment, jurisdiction
(1) German law shall apply. This choice of law only applies to customers if it does not result in the revocation of the protection guaranteed by the mandatory provisions of the law of the country in which the respective customer's usual place of residence is located (benefit-of-the-doubt principle).
(2) If you are not a consumer, but a businessman, a legal entity under public law or an institutional fund governed by public law, our place of business is the place of jurisdiction as well as the place of fulfilment for all services that follow from the business relationships that exist with us. The same condition applies to situations in which you are not associated with a general place of jurisdiction in Germany or the EU, as well as situations in which the place of residence or the usual place of residence is not known at the time of commencement of proceedings. This has no bearing on the capacity to call upon the court associated with another place of jurisdiction.
(3) The provisions of the UN Convention on Contracts for the International Sale of Goods are explicitly inapplicable.
II. Customer information
- Identity of the seller
preigu GmbH & Co. KG
Lengericher Landstr. 19
49078 Osnabrück
Germany
Telephone: 0541-580 72 84
E-Mail: mail@preigu.de
We are neither willing nor obliged to participate in dispute resolution proceedings before consumer arbitration boards.
- Information regarding the conclusion of the contract
The technical steps associated with the conclusion of the contract, the contract conclusion itself and the correction options are executed in accordance to the regulations "conclusion of the contract" in our standard business terms (part I.).
- Contractual language, saving the text of the contract
3.1 Contract language shall be English.
3.2 The complete text of the contract is not saved with us. Before the order is sent, the contract data can be printed out or electronically saved using the browser's print function. After the order is received by us, the order data, the legally-mandated details related to distance selling contracts and the standard business terms are re-sent to you via e-mail.
- Main features of the product or service
The key features of the goods and/or services can be found in the respective quote.
- Prices and payment arrangements
5.1 The prices mentioned in the respective offers represent total prices, as do the shipping costs. They include all the price components, including all the incidental taxes.
5.2 The dispatch costs that are incurred are not included in the purchase price. They can be viewed by clicking the appropriate button on our website or in the respective quote, are shown separately over the course of the order transaction and must additionally be borne by you, insofar as free delivery is not confirmed.
5.3 If delivery is made to countries outside of the European Union, we may incur unreasonable additional costs, such as duties, taxes or money transfer fees (transfer or foreign exchange fees charged by the banks), which you must bear.
5.4 You must also bear the costs arising from money transfers in cases in which the delivery is made to an EU Member State, but the payment is initiated outside of the European Union.
5.5 The payment methods that are available to you are shown by clicking the appropriate button on our website or are disclosed in the respective quote.
5.6 Unless otherwise specified for the respective payment methods, the payment claims arising from the contract that has been concluded become payable immediately.
- Delivery conditions
6.1 The delivery conditions, delivery date and existing supply restrictions, if applicable, can be found by clicking the appropriate button on our website or in the respective quote.
Unless a different period is specified in the item description or our delivery conditions, the goods are delivered within 3-5 days after the conclusion of the contract (in case an advance payment has been agreed upon, after the payment authorisation).
6.2 If you are a consumer, the following is statutorily regulated: The risk of the sold item accidentally being destroyed or degraded during shipping only passes over to you when the item in question is delivered, regardless of whether or not the shipping operation is insured. This condition does not apply if you have independently commissioned a transport company that has not been specified by us or a person who has otherwise been appointed to execute the shipping operation.
- Statutory warranty right
Liability for defects is governed by the "Warranty" provisions in our General Terms and Conditions of Business (Part I).
Information on battery disposal
In connection with the sale of batteries or the delivery of devices containing batteries, we are obliged to inform you of the following:
Batteries must not be disposed of with household waste.
You can either return used batteries that we carry or have carried in our range as new batteries to us at your own expense or return them free of charge to our shipping warehouse (shipping address). Alternatively, you can hand in the batteries at your local collection points.
As an end user, you are legally obliged to return used batteries so that they can be recycled or disposed of properly.
Used batteries may contain harmful substances that can damage the environment or your health if not stored or disposed of properly. However, batteries also contain important raw materials such as iron, zinc, manganese or nickel and can be recycled.
The symbols on the batteries have the following meanings:
The symbol of the crossed-out wheelie bin means that the battery must not be disposed of with household waste.
For batteries containing a certain amount of lead, cadmium or mercury, the following additions below the symbol with the crossed-out wheelie bin indicate the respective pollutants:
Pb = Battery contains more than 0.004% lead by weight
Cd = Battery contains more than 0.002% cadmium by weight
Hg = Battery contains more than 0.0005% mercury by weight
Information on the costs involved in accordance with Article 56 (4) of the EU Battery Regulation (Regulation 2023/1542) can be found at the ‘Batterie-Zurück (https://www.batterie-zurueck.de/de/bewirtschaftungvonaltbatterien/)' initiative.
Please pay attention to the above instructions.