본문 바로가기
장바구니0

LLVM Cookbook > PACKT 원서리스트

도서간략정보

LLVM Cookbook
판매가격 30,000원
저자 Pendey
도서종류 외국도서
출판사 PACKT
발행언어 영어
발행일 2015-05
페이지수 296
ISBN 9781785285981
도서구매안내 온, 오프라인 서점에서 구매 하실 수 있습니다.

구매기능

  • 도서 정보

    도서 상세설명

    1: LLVM Design and Use
    Introduction
    Understanding modular design
    Cross-compiling Clang/LLVM
    Converting a C source code to LLVM assembly
    Converting IR to LLVM bitcode
    Converting LLVM bitcode to target machine assembly
    Converting LLVM bitcode back to LLVM assembly
    Transforming LLVM IR
    Linking LLVM bitcode
    Executing LLVM bitcode
    Using the C frontend Clang
    Using the GO frontend
    Using DragonEgg

    2: Steps in Writing a Frontend
    Introduction
    Defining a TOY language
    Implementing a lexer
    Defining Abstract Syntax Tree
    Implementing a parser
    Parsing simple expressions
    Parsing binary expressions
    Invoking a driver for parsing
    Running lexer and parser on our TOY language
    Defining IR code generation methods for each AST class
    Generating IR code for expressions
    Generating IR code for functions
    Adding IR optimization support

    3: Extending the Frontend and Adding JIT Support
    Introduction
    Handling decision making paradigms if/then/else constructs
    Generating code for loops
    Handling user-defined operators binary operators
    Handling user-defined operators unary operators
    Adding JIT support

    4: Preparing Optimizations
    Introduction
    Various levels of optimization
    Writing your own LLVM pass
    Running your own pass with the opt tool
    Using another pass in a new pass
    Registering a pass with pass manager
    Writing an analysis pass
    Writing an alias analysis pass
    Using other analysis passes

    5: Implementing Optimizations
    Introduction
    Writing a dead code elimination pass
    Writing an inlining transformation pass
    Writing a pass for memory optimization
    Combining LLVM IR
    Transforming and optimizing loops
    Reassociating expressions
    Vectorizing IR
    Other optimization passes

    6: Target-independent Code Generator
    Introduction
    The life of an LLVM IR instruction
    Visualizing LLVM IR CFG using GraphViz
    Describing targets using TableGen
    Defining an instruction set
    Adding a machine code descriptor
    Implementing the MachineInstrBuilder class
    Implementing the MachineBasicBlock class
    Implementing the MachineFunction class
    Writing an instruction selector
    Legalizing SelectionDAG
    Optimizing SelectionDAG
    Selecting instruction from the DAG
    Scheduling instructions in SelectionDAG

    7: Optimizing the Machine Code
    Introduction
    Eliminating common subexpression from machine code
    Analyzing live intervals
    Allocating registers
    Inserting the prologue-epilogue code
    Code emission
    Tail call optimization
    Sibling call optimisation

    8: Writing an LLVM Backend
    Introduction
    Defining registers and registers sets
    Defining the calling convention
    Defining the instruction set
    Implementing frame lowering
    Printing an instruction
    Selecting an instruction
    Adding instruction encoding
    Supporting a subtarget
    Lowering to multiple instructions
    Registering a target

    9: Using LLVM for Various Useful Projects
    Introduction
    Exception handling in LLVM
    Using sanitizers
    Writing the garbage collector with LLVM
    Converting LLVM IR to JavaScript
    Using the Clang Static Analyzer
    Using bugpoint
    Using LLDB
    Using LLVM utility passes

    Appendix A: Index
  • 사용후기

    사용후기가 없습니다.

  • 배송/교환정보

    배송정보

    배송 안내 입력전입니다.

    교환/반품

    교환/반품 안내 입력전입니다.

선택하신 도서가 장바구니에 담겼습니다.

계속 둘러보기 장바구니보기
회사소개 개인정보 이용약관
Copyright © 2001-2019 도서출판 홍릉. All Rights Reserved.
상단으로