Some classes have docstrings, and lack rST docs (e.g. Module), few others vice versa. It's unclear what is the best way to deal with this. IMHO, docstrings should prevail, i.e. existing docs would rather be moved to docstings. Anyway, for now just make sure that users don't miss documentation, even if it's just list of classmembers.
65 lines
1.8 KiB
ReStructuredText
65 lines
1.8 KiB
ReStructuredText
+-------------------------------+
|
|
| 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 <functions.html#fnattr>`_ of the ``Function`` class above. Refer
|
|
`LLVM docs <http://www.llvm.org/docs/LangRef.html#paramattrs>`_ 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
|
|
----------
|
|
|
|
- `llvm.core.Value <llvm.core.Value.html>`_
|
|
|
|
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
|
|
-------------------------------------
|
|
.. autoclass:: llvm.core.Argument
|
|
:members:
|
|
:undoc-members:
|