Cargando…

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Lopes, Bruno Cardoso (Autor), Auler, Rafael (Autor)
Otros Autores: Sawant, Aniket (Diseñador de portada)
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.