
LLVM Compiler for RISC-V Architecture by 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.
-
Understanding Semiconductors
-
Digital Electronics for Musicians
-
Arduino Assembly Language
-
Performance Modeling of Computer Systems
-
Mastering Analog Electronics
-
Practical PLC Programming for Beginners
-
Mastering Verilog for FPGA Design
-
PLC SCADA for Beginners
-
Building Digital Twin Metaverse Cities
-
Industrial Vision Systems with Raspberry Pi
-
Beginning STM32
-
Record Weather Data with Arduino and Solar Power
-
Industrial Metaverse Building Blocks
-
Programming PIC Microcontrollers with XC8
-
Sensor Projects with Raspberry Pi
-
Robotic Vehicles Design
-
Tiny Machine Learning Quickstart
-
The Evolune Metaverse
-
Ultimate LEGO Worldbuilding and Architecture
-
RISC-V Assembly Language Programming
-
Mastering Circuit Analysis
-
Arduino Software Internals
-
RP2040 Assembly Language Programming
-
ABCs of Electronics
-
Creating MakerSpaces
-
Learning Algorithms for Internet of Things
-
The Ultimate LEGO Technic Book
-
Circuit Design and Simulation Quick Start Guide
-
Build Autonomous Mobile Robot from Scratch using ROS
-
Simulation of Power Electronics Circuits with MATLAB®/Simulink®
-
Git for Electronic Circuit Design
-
Beginning MicroPython with the Raspberry Pi Pico
-
Mastering Digitally Controlled Machines
-
Arduino Interrupts
-
Industrial Robotics Control
-
Learn Engineering with LEGO
-
ESP32 Formats and Communication
-
Sensors and Protocols for Industry 4.0
-
Essentials of Arduino Boards Programming
-
Introductory Programs with the 32-bit PIC Microcontroller
-
Internet of Things Using Single Board Computers
Alexey Bataev is an experienced compiler engineer with a proven track record in software systems development, specializing in compilers, embedded platforms, and toolchain infrastructure. Areas of expertise include C++, LLVM, Clang, SLP Vectorization, OpenMP, Embedded Linux, and test automation. Holds a Ph.D. in Computer Science. Maintainer of the SLP Vectorizer in LLVM, OpenMP support in Clang. Author of peer-reviewed publications in the field of compiler technology.
| SKU | Unavailable |
| ISBN 13 | 9798868821684 |
| Title | LLVM Compiler for RISC-V Architecture |
| Author | Alexey Bataev |
| Series | Maker Innovations Series |
| Condition | Unavailable |
| Binding Type | Paperback |
| Publisher | APress |
| Year published | 2026-01-03 |
| Number of pages | 322 |
| Cover note | Book picture is for illustrative purposes only, actual binding, cover or edition may vary. |
| Note | Unavailable |








































