[llvm] 9395b98 - [RISCV][docs] Add some wording around vendor extensions

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 1 09:34:28 PDT 2022


Author: Philip Reames
Date: 2022-11-01T09:33:32-07:00
New Revision: 9395b98ba03efd90d09a78d4ada9a2f99ba999b8

URL: https://github.com/llvm/llvm-project/commit/9395b98ba03efd90d09a78d4ada9a2f99ba999b8
DIFF: https://github.com/llvm/llvm-project/commit/9395b98ba03efd90d09a78d4ada9a2f99ba999b8.diff

LOG: [RISCV][docs] Add some wording around vendor extensions

This adds an initial bit of policy around inclusion of vendor extensions. My intention here is to leave all of the actual decision making to a case by case decision on the regular sync calls, but to spell out some of the pieces we've discussed and (I think) have general agreement on.

Differential Revision: https://reviews.llvm.org/D136968

Added: 
    

Modified: 
    llvm/docs/RISCVUsage.rst

Removed: 
    


################################################################################
diff  --git a/llvm/docs/RISCVUsage.rst b/llvm/docs/RISCVUsage.rst
index 387f2c29d26d..6506d750b874 100644
--- a/llvm/docs/RISCVUsage.rst
+++ b/llvm/docs/RISCVUsage.rst
@@ -146,6 +146,18 @@ The primary goal of experimental support is to assist in the process of ratifica
 
 To use an experimental extension from `clang`, you must add `-menable-experimental-extensions` to the command line, and specify the exact version of the experimental extension you are using.  To use an experimental extension with LLVM's internal developer tools (e.g. `llc`, `llvm-objdump`, `llvm-mc`), you must prefix the extension name with `experimental-`.  Note that you don't need to specify the version with internal tools, and shouldn't include the `experimental-` prefix with `clang`.
 
+Vendor Extensions
+=================
+
+Vendor extensions are extensions which are not standardized by RISC-V International, and are instead defined by a hardware vendor.  At the moment, LLVM does not support any vendor extensions for RISC-V, but we expect this to change in the future.
+
+The term vendor extension roughly parallels the definition of a `non-standard` extension from Section 1.3 of the Volume I: RISC-V Unprivileged ISA specification.  In particular, we expect to eventually accept both `custom` extensions and `non-conforming` extensions.
+
+Inclusion of a vendor extension will be considered on a case by case basis.  All proposals should be brought to the bi-weekly RISCV sync calls for discussion.  For a general idea of the factors likely to be considered, please see the `Clang documentation <https://clang.llvm.org/get_involved.html>`_.
+
+It is our intention to follow the naming conventions described in `riscv-non-isa/riscv-toolchain-conventions <https://github.com/riscv-non-isa/riscv-toolchain-conventions#conventions-for-vendor-extensions>`_.  Exceptions to this naming will need to be strongly motivated.
+
+
 Specification Documents
 =======================
 For ratified specifications, please refer to the `official RISC-V International


        


More information about the llvm-commits mailing list