LLVM Cookbook /

Over 80 engaging recipes that will help you build a compiler frontend, optimizer, and code generator using LLVM In Detail LLVM is a compiler framework with libraries that provides a modern source-and target-independent optimizer, along with a code generator. This book not only explains the effective...

Full description

Bibliographic Details
Main Authors: Pandey, Mayur (Author), Sarda, Suyog (Author)
Corporate Author: Safari, an O'Reilly Media Company
Format: eBook
Language:English
Published: Packt Publishing, 2015.
Edition:1st edition.
Subjects:
Online Access:Connect to this electronic resource
Description
Summary:Over 80 engaging recipes that will help you build a compiler frontend, optimizer, and code generator using LLVM In Detail LLVM is a compiler framework with libraries that provides a modern source-and target-independent optimizer, along with a code generator. This book not only explains the effective use of the compiler infrastructure that LLVM provides, but also helps you implement it in one of your projects. You start with a simple task to get you up-and-running with LLVM, followed by learning the process of writing a frontend for a language, which includes writing a lexer, a parser, and generating IR code. You will then see how to implement optimizations at different levels, generate target-independent code, and then map this generated code to a backend. Finally, you will look into the functionalities that the LLVM infrastructure provides, such as exception handling, LLVM Utility Passes, using sanitizers, the garbage collector, and how we can use these in our projects. What You Will Learn Introduction to LLVM modular design and LLVM tools Write a frontend for a language Add JIT support and use frontends for different languages Learn about the LLVM Pass infrastructure and the LLVM Pass Manager Create analyses and transform optimization passes Build a LLVM TOY backend from scratch Optimize the code at SelectionDAG level and allocate registers to variables
Item Description:Electronic resource.
Physical Description:1 online resource (296 pages)
Format:Mode of access: World Wide Web.