Getting started with LLVM core libraries : get to grips with LLVM essentials and use the core libraries to build advanced tools /
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...
Clasificación: | Libro Electrónico |
---|---|
Autores principales: | , |
Otros Autores: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing Ltd,
2014.
|
Colección: | Community experience distilled.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- 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.