@@ -1161,15 +1161,16 @@ parameters of a function. Parameter attributes are considered to be part
1161
1161
of the function, not of the function type, so functions with different
1162
1162
parameter attributes can have the same function type.
1163
1163
1164
- Parameter attributes are simple keywords that follow the type specified.
1165
- If multiple parameter attributes are needed, they are space separated.
1166
- For example:
1164
+ Parameter attributes are either simple keywords or strings that follow the
1165
+ specified type. Multiple parameter attributes, when required, are separated by
1166
+ spaces. For example:
1167
1167
1168
1168
.. code-block:: llvm
1169
1169
1170
1170
declare i32 @printf(ptr noalias nocapture, ...)
1171
1171
declare i32 @atoi(i8 zeroext)
1172
1172
declare signext i8 @returns_signed_char()
1173
+ define void @baz(i32 "amdgpu-flat-work-group-size"="1,256" %x)
1173
1174
1174
1175
Note that any attributes for the function result (``nonnull``,
1175
1176
``signext``) come before the result type.
@@ -1843,16 +1844,17 @@ a function. Function attributes are considered to be part of the
1843
1844
function, not of the function type, so functions with different function
1844
1845
attributes can have the same function type.
1845
1846
1846
- Function attributes are simple keywords that follow the type specified.
1847
- If multiple attributes are needed, they are space separated. For
1848
- example:
1847
+ Function attributes are simple keywords or strings that follow the specified
1848
+ type. Multiple attributes, when required, are separated by spaces.
1849
+ For example:
1849
1850
1850
1851
.. code-block:: llvm
1851
1852
1852
1853
define void @f() noinline { ... }
1853
1854
define void @f() alwaysinline { ... }
1854
1855
define void @f() alwaysinline optsize { ... }
1855
1856
define void @f() optsize { ... }
1857
+ define void @f() "no-sse" { ... }
1856
1858
1857
1859
``alignstack(<n>)``
1858
1860
This attribute indicates that, when emitting the prologue and
0 commit comments