Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Lopes, Bruno Cardoso, author.

Title Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools / Bruno Cardoso Lopes, Rafael Auler ; cover image by Aniket Sawant. [O'Reilly electronic resource]

Publication Info. Birmingham, England : Packt Publishing Ltd, 2014.
©2014
QR Code
Description 1 online resource (314 pages) : illustrations
Series Community Experience Distilled
Community experience distilled.
Contents Cover; Copyright; Credits; About the Authors; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Build and Install LLVM; Understanding LLVM versions; Obtaining prebuilt packages; Obtaining the official prebuilt binaries; Using package managers; Staying updated with snapshot packages; Building from sources; System requirements; Obtaining sources; SVN; Git; Building and installing LLVM; Using the autotools-generated configure script; Using CMake and Ninja; Using other Unix approaches; Windows and Microsoft Visual Studio; Mac OS X and Xcode; Summary.
Chapter 2: External ProjectsIntroducing Clang extras; Building and installing Clang extra tools; Understanding Compiler-RT; Seeing Compiler-RT in action; Using the DragonEgg plugin; Building DragonEgg; Understanding the compilation pipeline with DragonEgg and LLVM tools; Understanding the LLVM test suite; Using LLDB; Exercising a debug session with LLDB; Introducing the libc++ standard library; Summary; Chapter 3: Tools and Design; Introducing LLVM''s basic design principles and its history; Understanding LLVM today; Interacting with the compiler driver; Using standalone tools.
Delving into the LLVM internal designGetting to know LLVM''s basic libraries; Introducing LLVM''s C++ practices; Seeing polymorphism in practice; Introducing C++ templates in LLVM; Enforcing C++ best practices in LLVM; Making string references lightweight in LLVM; Demonstrating the pluggable pass interface; Writing your first LLVM project; Writing the Makefile; Writing the code; Navigating the LLVM source -- general advice; Understanding the code as a documentation; Asking the community for help; Coping with updates -- using the SVN log as a documentation; Concluding remarks; Summary.
Chapter 4: The FrontendIntroducing Clang; Frontend actions; Libraries; Using libclang; Understanding Clang diagnostics; Reading diagnostics; Learning the frontend phases with Clang; Lexical analysis; Exercising lexical errors; Writing libclang code that uses the lexer; Preprocessing; Syntactic analysis; Understanding Clang AST nodes; Understanding the parser actions with a debugger; Exercising a parser error; Writing code that traverses the Clang AST; Serializing the AST with precompiled headers; Semantic analysis; Exercising a semantic error; Generating the LLVM IR code; Putting it together.
Summary Chapter 5: The LLVM Intermediate Representation; Overview; Understanding the LLVM IR target dependency; Exercising basic tools to manipulate the IR formats; Introducing the LLVM IR language syntax; Introducing the LLVM IR in-memory model; Writing a custom LLVM IR generator; Building and running the IR generator; Learning how to write code to generate any IR construct with the C++ backend; Optimizing at the IR level; Compile-time and link-time optimizations; Discovering which passes matter; Understanding pass dependencies; Understanding the pass API; Writing a custom pass.
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.
Subject Application software -- Development.
Computer software -- Development.
Logiciels d'application -- Développement.
Application software -- Development
Computer software -- Development
Added Author Auler, Rafael, author.
Sawant, Aniket, cover designer.
Other Form: Print version: Lopes, Bruno Cardoso. Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools. Birmingham, England : Packt Publishing Ltd, ©2014 vi, 295 pages Community experience distilled. 9781782166924
ISBN 9781782166931 (e-book)
1782166939 (e-book)
1782166920
9781782166924
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information