[llvm] [doc][RISCV] Add documentation for customizing VCIX scheduling info (PR #183129)

Min-Yih Hsu via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 10:54:14 PDT 2026


================
@@ -0,0 +1,263 @@
+===================================================
+Scheduling Information for RISC-V VCIX Instructions
+===================================================
+
+.. contents::
+   :local:
+
+Summary
+-------
+The purpose of this document is to outline how the scheduling information for RISC-V's ``XSfvcp`` extension -- SiFive Vector Coprocessor Interface (VCIX) -- in LLVM works, why it works the way it does, and how one may modify the code to support their VCIX needs.
+
+SiFive makes no guarantee that modifying the upstream code to describe their VCIX implementations will lead to performance improvements over the default implementation.
+
+Introduction
+------------
+LLVM uses scheduler models to describe the behavior of processor latencies and resources. The scheduler models are attached to a processor definition (i.e. ``-mcpu=``) or tunings (i.e. ``-mtune=``). The challenge with VCIX is that the same processor definition could be used with different coprocessors that have very different latencies or processor resource usage for a given instruction. As a result, a default implementation is provided, and SiFive customers may use this document to customize the existing implementation to their needs.
----------------
mshockwave wrote:

Good point, it's updated now.

https://github.com/llvm/llvm-project/pull/183129


More information about the llvm-commits mailing list