1 / 8

LLVM IR

Assemble. LLVM IR. LLVM IR. Object File. DAG Lowering. Assembly File. Object File Writer. SDNode. DAG of Target Operation (might be illegal). Assembly Printer. Legalization. Machine Code Layer ( MCInst ). DAG of Target Operation (legal). MCInst. MC Lowering.

thao
Download Presentation

LLVM IR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assemble LLVM IR LLVM IR Object File DAG Lowering Assembly File Object File Writer SDNode DAG of Target Operation (might be illegal) Assembly Printer Legalization Machine Code Layer (MCInst) DAG of Target Operation (legal) MCInst MCLowering Instruction Selection DAG of Machine Instructions Sequence of Machine Instructions Scheduling and Formation Prolog/Epilog Code Insertion MachineInstr Sequence of Machine Instructions Register Allocation Sequence of Machine Instructions SSA-based Machine Code Optimization

  2. LLVM IR DAG of Target Operation (might be illegal) DAG of Target Operation (might be illegal) DAG of Target Operation (legal) DAG of Target Operation (legal) DAG of Machine Instructions DAG of Machine Instructions Sequence of Machine Instructions Sequence of Machine Instructions Machine Code Layer (MCInst)

  3. Module Function LLVM IR Basic Block

  4. LLVM IR MachineInstr Assembly Parsing MCInst (MC Layer) Assembly Printer Decode Object File Writer Assembly File Object File Assemble Disassemble

  5. SSA Form & Infinite Virtual Register Phi Node

  6. Assembly (.s) Code (.c) Code (.c) Code (.c) Object (.o) Assembler Parser Code Generator Code Generator Code Generator Disassembler MCInst MCStreamer Object Writer MCJIT Object Writer Assembly Printer Assembly Printer Object (.o) Assembly (.s) Object (.o) Execution Assembly (.s) Compile & Assembly Assembly Compile JIT Disassembly

  7. Assembly File Source File AsmParser MC InstPrinter MC AsmStreamer & ObjectStreamer AsmPrinter & MCInstLower Code Generator MC CodeEmitter Disassembler Object File

  8. MCSection MCSection MCFragment MCFragment MCFragment

More Related