LLVM essentials : become familiar with the LLVM infrastructure and start using LLVM libraries to design a computer /
Annotation
Clasificación: | Libro Electrónico |
---|---|
Autores principales: | , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing,
2015.
|
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 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.