layout: page
title: Argument (llvm.core)

The args property of llvm.core.Function objects yields llvm.core.Argument objects. This allows for setting attributes for functions arguments. Argument objects cannot be constructed from user code, the only way to get a reference to these are from Function objects.

The method add_attribute and remove_attribute can be used to add or remove the following attributes:

Value| Equivalent LLVM Assembly Keyword | —–|———————————-| ATTR_ZEXT| zeroext | ATTR_SEXT| signext | ATTR_IN_REG| inreg | ATTR_BY_VAL| byval | ATTR_STRUCT_RET| sret | ATTR_NO_ALIAS| noalias | ATTR_NO_CAPTURE| nocapture | ATTR_NEST| nest |

These method work exactly like the corresponding methods of the Function class above. Refer LLVM docs for information on what each attribute means.

The alignment of any argument can be set via the alignment property, to any power of 2.

llvm.core.Argument

Base Class

Properties

alignment

The alignment of the argument. Must be a power of 2.

Methods

add_attribute(attr)

Add an attribute attr to the argument, from the set listed above.

remove_attribute(attr)

Remove the attribute attr of the argument.

Automatically Generated Documentation

class llvm.core.Argument(builder, ptr)
add_attribute(attr)
alignment
arg_no
attributes

Returns a set of defined attributes.

has_by_val()
has_nest()
has_no_alias()
has_no_capture()
has_struct_ret()
remove_attribute(attr)

Table Of Contents

Previous topic

llvm.core

Next topic

llvm.core.ArrayType