From fac01a247020b62bd91db025a4e8023da22906f0 Mon Sep 17 00:00:00 2001
From: Reid Spencer
Parameter attributes consist of a at sign (@) followed by either a single +
Parameter attributes consist of an at sign (@) followed by either a single keyword or a comma separate list of keywords enclosed in parentheses. For example:
%someFunc = i16 @zext (i8 @(sext) %someParam) - %someFunc = i16 @zext (i8 @zext %someParam) -Note that the two function types above are unique because the parameter + %someFunc = i16 @zext (i8 @zext %someParam) + Note that the two function types above are unique because the parameter has a different attribute (@sext in the first one, @zext in the second).
Currently, only the following parameter attributes are defined: @@ -938,20 +938,22 @@ Variable argument functions can access their arguments with the Examples:
- i32 (i32) - float (i16 @sext, i32 *) * - i32 (i8*, ...) + | i32 (i32) | +function taking an i32, returning an i32 | -
- function taking an i32, returning an i32 - Pointer to a function that takes an - i16 that should be sign extended and a + |
float (i16 @sext, i32 *) * | +Pointer to a function that takes
+ an i16 that should be sign extended and a
pointer to i32, returning
- float. - A vararg function that takes at least one pointer - to i8 (signed char in C), which returns an integer. This is - the signature for printf in LLVM. + float. + |
+ ||
i32 (i8*, ...) | +A vararg function that takes at least one + pointer to i8 (signed char in C), + which returns an integer. This is the signature for printf in + LLVM. |