[llvm] [RISCV] Add documentation in the LangRef on GHC CC (PR #72762)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 18 13:22:59 PST 2023


https://github.com/boomanaiden154 created https://github.com/llvm/llvm-project/pull/72762

The GHC CC got added to RISCV in a8dc2110cd4dd69212a204bc1074729f95d5402a but it never got documented in the LangRef. This adds documentation in the LangRef noting that RISCV is supports the GHC calling convention and notes the specific limitations of the GHC CC on RISCV.

>From 15c74a2fc43a8c363abad3b301443f67aa2e4f4a Mon Sep 17 00:00:00 2001
From: Aiden Grossman <agrossman154 at yahoo.com>
Date: Sat, 18 Nov 2023 13:19:22 -0800
Subject: [PATCH] [RISCV] Add documentation in the LangRef on GHC CC

The GHC CC got added to RISCV in a8dc2110cd4dd69212a204bc1074729f95d5402a
but it never got documented in the LangRef. This adds documentation in
the LangRef noting that RISCV is supports the GHC calling convention and
notes the specific limitations of the GHC CC on RISCV.
---
 llvm/docs/LangRef.rst | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index bc1eab1e0b7a07f..7ba1a1a53d67e25 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -317,13 +317,16 @@ added in the future:
     not be used lightly but only for specific situations such as an
     alternative to the *register pinning* performance technique often
     used when implementing functional programming languages. At the
-    moment only X86 supports this convention and it has the following
-    limitations:
+    moment only X86 and RISCV support this convention. They have the
+    following limitations:
 
     -  On *X86-32* only supports up to 4 bit type parameters. No
        floating-point types are supported.
     -  On *X86-64* only supports up to 10 bit type parameters and 6
        floating-point parameters.
+    -  *RISCV64* only supports up to 11 bit type parameters and 4
+       32-bit floating-point parameters and 4 64-bit floating-point
+       parameters.
 
     This calling convention supports `tail call
     optimization <CodeGenerator.html#tail-call-optimization>`_ but requires



More information about the llvm-commits mailing list