From c21bcdd0ff81fdf476e3aab091f5928a3bc14118 Mon Sep 17 00:00:00 2001 From: Rajat Bajpai Date: Tue, 29 Oct 2024 06:18:32 +0000 Subject: [PATCH] [Documentation] Update parameter and function attribute in LangRef Update the documentation for parameter and function attributes to include support for string attributes. --- llvm/docs/LangRef.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index f9ec33da1b651..7f444c6800c81 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -1161,15 +1161,16 @@ parameters of a function. Parameter attributes are considered to be part of the function, not of the function type, so functions with different parameter attributes can have the same function type. -Parameter attributes are simple keywords that follow the type specified. -If multiple parameter attributes are needed, they are space separated. -For example: +Parameter attributes are either simple keywords or strings that follow the +specified type. Multiple parameter attributes, when required, are separated by +spaces. For example: .. code-block:: llvm declare i32 @printf(ptr noalias nocapture, ...) declare i32 @atoi(i8 zeroext) declare signext i8 @returns_signed_char() + define void @baz(i32 "amdgpu-flat-work-group-size"="1,256" %x) Note that any attributes for the function result (``nonnull``, ``signext``) come before the result type. @@ -1843,9 +1844,9 @@ a function. Function attributes are considered to be part of the function, not of the function type, so functions with different function attributes can have the same function type. -Function attributes are simple keywords that follow the type specified. -If multiple attributes are needed, they are space separated. For -example: +Function attributes are simple keywords or strings that follow the specified +type. Multiple attributes, when required, are separated by spaces. +For example: .. code-block:: llvm @@ -1853,6 +1854,7 @@ example: define void @f() alwaysinline { ... } define void @f() alwaysinline optsize { ... } define void @f() optsize { ... } + define void @f() "no-sse" { ... } ``alignstack()`` This attribute indicates that, when emitting the prologue and