[PATCH] D136968: [RISCV][docs] Add some wording around vendor extensions

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 28 11:40:12 PDT 2022


reames created this revision.
reames added reviewers: craig.topper, asb, frasercrmck, jrtc27, kito-cheng.
Herald added subscribers: sunshaoce, VincentWu, StephenFan, vkmr, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, shiva0217, niosHD, sabuasal, bollu, simoncook, johnrusso, rbar, arichardson, mcrosier.
Herald added a project: All.
reames requested review of this revision.
Herald added subscribers: pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D136968

Files:
  llvm/docs/RISCVUsage.rst


Index: llvm/docs/RISCVUsage.rst
===================================================================
--- llvm/docs/RISCVUsage.rst
+++ llvm/docs/RISCVUsage.rst
@@ -145,6 +145,18 @@
 
 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 RVI, 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136968.471612.patch
Type: text/x-patch
Size: 1932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221028/c45f29b5/attachment.bin>


More information about the llvm-commits mailing list