Skip to content

Commit

Permalink
[Documentation] Update parameter and function attribute section in La…
Browse files Browse the repository at this point in the history
…ngRef (llvm#114007)

Update the documentation for parameter and function attributes to
include support for target-dependent string attributes.
  • Loading branch information
rajatbajpai authored Nov 2, 2024
1 parent 6365ee8 commit 7603fea
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions llvm/docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -1843,16 +1844,17 @@ 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

define void @f() noinline { ... }
define void @f() alwaysinline { ... }
define void @f() alwaysinline optsize { ... }
define void @f() optsize { ... }
define void @f() "no-sse" { ... }

``alignstack(<n>)``
This attribute indicates that, when emitting the prologue and
Expand Down

0 comments on commit 7603fea

Please sign in to comment.