COINS C program Fortran analyzer C analyzer Java

  • Slides: 6
Download presentation

COINS 全体図 C program Fortran analyzer C analyzer Java program New language program Java

COINS 全体図 C program Fortran analyzer C analyzer Java program New language program Java analyzer New language analyzer C program Open. MP program C generation Compiler control (Schedule module invocation) High level Intermediate Representation (HIR) Symbol table Basic optimizer HIR to LIR Advanced optimizer Parallelizer Loop analyzer Coarse grain parallelizer Loop parallelizer Data flow analyzer Common subexp elim Dead code elim Alias analyzer Loop optimizer Low level Intermediate Representation (LIR) Machine independent optimizer Code generator Code generation based on machine description Register allocator X 86 TMD SPARC code X 86 code by COINS’s users If-conversion Code motion Parallelization Instruction scheduler Branch optimizer Sparc TMD ARM TMD Machine dependent optimizer Instruction scheduler SIMD parallelizer MIPS TMD Power. PC TMD New machine code ARM code SSA optimizer LIR-SSA transformation Basic optimizer Advanced optimizer SSE 2 info EE info Altivec info SH 4 TMD MIPS code Power. PC code SH 4 code LIR to C C program

COINS 基盤部 C program Fortran analyzer C analyzer 実線太枠:基盤部 Java program New language program

COINS 基盤部 C program Fortran analyzer C analyzer 実線太枠:基盤部 Java program New language program Java analyzer New language analyzer C program Open. MP program C generation Compiler control (Schedule module invocation) High level Intermediate Representation (HIR) Symbol table Basic optimizer HIR to LIR Advanced optimizer Parallelizer Loop analyzer Coarse grain parallelizer Loop parallelizer Data flow analyzer Common subexp elim Dead code elim Alias analyzer Loop optimizer Low level Intermediate Representation (LIR) Machine independent optimizer Code generator Code generation based on machine description Register allocator X 86 TMD SPARC code X 86 code If-conversion Code motion Parallelization Instruction scheduler Branch optimizer Sparc TMD ARM TMD Machine dependent optimizer Instruction scheduler SIMD parallelizer MIPS TMD Power. PC TMD New machine code ARM code SSA optimizer LIR-SSA transformation Basic optimizer Advanced optimizer SSE 2 info EE info Altivec info SH 4 TMD MIPS code Power. PC code SH 4 code LIR to C C program

COINSの利用形態 Compiler Infrastructure Compiler for new machine + Code generator for new machine +

COINSの利用形態 Compiler Infrastructure Compiler for new machine + Code generator for new machine + Syntax analyzer for new language + Parallelization by new method Compiler with new parallelizing method + Optimization by new method Compiler with new optimization method Common interface and Basic compiler components Compiler for new language Compilers for research Compilers for education Production compilers