Cargando…

LLVM essentials : become familiar with the LLVM infrastructure and start using LLVM libraries to design a computer /

Annotation

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Sarda, Suyog (Autor), Pandey, Mayur (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2015.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo
Texto completo
Tabla de Contenidos:
  • Cover; Copyright; Credits; About the Authors; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Playing with LLVM; Modular design and collection of libraries; Getting familiar with LLVM IR; LLVM tools and using them in the command line; Summary; Chapter 2: Building LLVM IR; Creating an LLVM module; Emitting a function in a module; Adding a block to a function; Emitting a global variable; Emitting a return statement; Emitting function arguments; Emitting a simple arithmetic statement in a basic block; Emitting if-else condition IR; Emitting LLVM IR for loop; Summary.
  • Chapter 3: Advanced LLVM IRMemory access operations; Getting the address of an element; Reading from the memory; Writing into a memory location; Inserting a scalar into a vector; Extracting a scalar from a vector; Summary; Chapter 4: Basic IR Transformations; Opt Tool; Pass and Pass Manager; Using other Pass info in current Pass; AnalysisUsage::addRequired method; AnalysisUsage:addRequiredTransitive method; AnalysisUsage::addPreserved method; Instruction simplification example; Instruction Combining; Summary; Chapter 5: Advanced IR Block Transformations; Loop processing.
  • Scalar evolutionLLVM intrinsics; Vectorization; Summary; Chapter 6: IR to Selection DAG phase; Converting IR to selectionDAG; Legalizing SelectionDAG; Optimizing SelectionDAG; Instruction Selection; Scheduling and emitting machine instructions; Register allocation; Code Emission; Summary; Chapter 7: Generating Code for Target Architecture; Sample backend; Defining registers and register sets; Defining the calling convention; Defining the instruction set; Implementing frame lowering; Lowering instructions; Printing an instruction; Summary; Index.