<p>This book offers a comprehensive introduction to the RISC-V RVV extension and its integration with LLVM-based compilers. It covers the LLVM VPlan-based Loop Vectorizer and SLP Vectorizer, along with additional insights into the clang frontend, OpenMP support, and RVV-specific clang directives provided by SiFive.</p><p>Given the limited information currently available on RVV and its support in modern compilers, this book fills a crucial gap. RVV introduces a unique approach to vectorization—Vector Length Agnostic (VLA) vectorization—which stands out from the fixed vectors of x86 and the runtime-defined, yet fixed, ARM-based SVE and SVE2 extensions.</p><p>Readers will gain an understanding of RVV-specific VLA-based vectorization support in LLVM-based compilers, which are still under development. The book also provides early insights into the ongoing support for RVV in LLVM.</p><p><strong>What You'll Learn</strong></p><ul> <li>Gain foundational knowledge of RISC-V and the RVV extension.</li> <li>Learn&#xa0;design and implementation of LLVM vectorizers.</li> <li>Learn to optimize performance with RVV-specific clang directives.</li> <li>Explore the unique Vector Length Agnostic (VLA) vectorization.</li> <li>Discover the differences between RVV and other vector extensions.</li></ul><p><strong>Who This Book Is For</strong></p><p>1. For the engineers, who would like to get more info about RISC-V in general and RISC-V Vectorextension particularly.</p><p>2. For the developers, trying to get the performance using RVV.</p><p>3. For LLVM compiler developers, trying or learn more about vectorization support in LLVM.4.</p><p>4. For the students, who learn new about RISC- V, its extensions, interested in compiler development.</p><p>&#xa0;</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

LLVM Compiler for RISC-V Architecture

  • Alexey Bataev

摘要

This book offers a comprehensive introduction to the RISC-V RVV extension and its integration with LLVM-based compilers. It covers the LLVM VPlan-based Loop Vectorizer and SLP Vectorizer, along with additional insights into the clang frontend, OpenMP support, and RVV-specific clang directives provided by SiFive.

Given the limited information currently available on RVV and its support in modern compilers, this book fills a crucial gap. RVV introduces a unique approach to vectorization—Vector Length Agnostic (VLA) vectorization—which stands out from the fixed vectors of x86 and the runtime-defined, yet fixed, ARM-based SVE and SVE2 extensions.

Readers will gain an understanding of RVV-specific VLA-based vectorization support in LLVM-based compilers, which are still under development. The book also provides early insights into the ongoing support for RVV in LLVM.

What You'll Learn

  • Gain foundational knowledge of RISC-V and the RVV extension.
  • Learn design and implementation of LLVM vectorizers.
  • Learn to optimize performance with RVV-specific clang directives.
  • Explore the unique Vector Length Agnostic (VLA) vectorization.
  • Discover the differences between RVV and other vector extensions.

Who This Book Is For

1. For the engineers, who would like to get more info about RISC-V in general and RISC-V Vectorextension particularly.

2. For the developers, trying to get the performance using RVV.

3. For LLVM compiler developers, trying or learn more about vectorization support in LLVM.4.

4. For the students, who learn new about RISC- V, its extensions, interested in compiler development.