Getting Started with LLVM Core Libraries

Book and eBook expected July 2014. Pre-order now!
Getting Started with LLVM Core Libraries
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 20%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn how to configure, build, and use LLVM and Clang based tools
  • Explore the depths of the LLVM front-end, IR, code generator, and libraries, and learn how a modern compiler is implemented in a practical way.
  • Customize your project to benefit from Just in Time compilation (JIT), static analysis and source-to-source transformations.

Book Details

Language : English
Paperback : 251 pages [ 235mm x 191mm ]
Release Date : July 2014
ISBN : 1782166920
ISBN 13 : 9781782166924
Author(s) : Bruno Cardoso Lopes
Topics and Technologies : All Books, Open Source
Sorry, the table of contents for this book is not yet available.

Bruno Cardoso Lopes

Bruno Cardoso Lopes is a PhD candidate at the University of Campinas, Brazil and has been a contributor to the LLVM compiler since 2007; he implemented the x86 Intel AVX support, random ARM improvements and wrote the MIPS back-end from scratch, which he maintained for several years. Besides the compiler related experience, he researches code compression techniques in his PhD and had worked with driver development for Linux and FreeBSD operating systems.

Sorry, we don't have any reviews for this title yet.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sorry, there are currently no downloads available for this title.

Frequently bought together

Getting Started with LLVM Core Libraries +    JIRA 6.x Administration Cookbook =
50% Off
the second eBook
Price for both: $39.00

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Configure, build, and install extra LLVM open source projects; Clang Tools, Static Analyser, CompilerRT, lldb, DragonEGG, libc++, and LLVM test-suite
  • Understand the LLVM library design and interaction between libraries and standalone tools
  • Increase your knowledge of source code processing stages by learning how the Clang frontend uses a Lexer, Parser, and Syntax Analysis
  • Manipulate, generate, and play with LLVM IR files while writing custom IR analyses and transformation passes
  • Improve your knowledge of compiler backends and understand how instructions change all the way from LLVM IR to assembly code
  • Write tools to use LLVM Just in Time compilation (JIT) capabilities
  • Find bugs and improve your code by using the Static Analyser
  • Design source code analysis and transformation tools using libClang, libTooling, and the Clang plugin interface

In Detail

LLVM is a bleeding edge compiler technology framework. Easily extendable and designed as a multitude of libraries, LLVM provides a smooth experience for compiler newcomers and lessen the steep learning curve often associated with compiler development.

Whether you are a compiler expert or an enthusiastic newcomer, this book will provide you with all the necessary knowledge to get started with LLVM-related compiler development. To start, this book will show you how to configure, build, and install LLVM libraries, tools, and external projects. Next, you will be introduced to LLVM design and how it works in practice throughout each LLVM compiler stage; frontend, IR, backend, the JIT engine, cross-compilation capabilities, and the plugin interface. With multiple hands-on examples and source code snippets, Getting Started with LLVM Core Libraries ensures a solid and smooth first step into the LLVM compiler development environment.


A practical guide to understanding LLVM with the help of source code references and snippets, insights on how compiler stages connect to each other, descriptions of important data structures, and examples of how to use the tools provided by LLVM. Some topics are explained with compelling hands-on examples that you are encouraged to try out.

Who this book is for

This book is intended for enthusiasts, computer science students, and compiler engineers interested in learning about the LLVM framework. You need a background in C++ and, although not mandatory, should know at least some compiler theory. Whether you are a newcomer or a compiler expert, this book provides a practical introduction to LLVM and avoids complex scenarios. If you are interested enough and excited about this technology, then this book is definitely for you.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software