Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools /: get to grips with LLVM essentials and use the core libraries to build advanced tools. (2014)
- Record Type:
- Book
- Title:
- Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools /: get to grips with LLVM essentials and use the core libraries to build advanced tools. (2014)
- Main Title:
- Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools
- Further Information:
- Note: Bruno Cardoso Lopes, Rafael Auler ; cover image by Aniket Sawant.
- Authors:
- Lopes, Bruno Cardoso
Auler, Rafael - Other Names:
- Sawant, Aniket cover designer.
- 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 LLVMCover; 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. … (more)
- Publisher Details:
- Birmingham, England : Packt Publishing Ltd
- Publication Date:
- 2014
- Copyright Date:
- 2014
- Extent:
- 1 online resource (314 pages), illustrations
- Subjects:
- 005.1
COMPUTERS -- Programming Languages -- C
Application software -- Development
Computer software -- Development
Application software -- Development
Application software -- Development
Computer software -- Development
Application software / Development
COMPUTERS -- Programming -- General
Electronic books - Languages:
- English
- ISBNs:
- 9781782166931
1782166939
1782166920
9781782166924 - Related ISBNs:
- 9781782166924
- Notes:
- Note: Online resource; title from PDF title page (ebrary, viewed September 4, 2014).
- Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.86769
- Ingest File:
- 01_105.xml