Value references
A value reference is a wrapper around an LLVM value for you to
inspect. You cannot create a value reference yourself. You get them
from methods of the ModuleRef
and ValueRef
classes.
Enumerations
- class llvmlite.binding.Linkage
The linkage types allowed for global values are:
- class llvmlite.binding.Visibility
The visibility styles allowed for global values are:
- class llvmlite.binding.StorageClass
The storage classes allowed for global values are:
- class llvmlite.binding.ValueKind
The value kinds allowed are:
- argument
- basic_block
- memory_use
- memory_def
- memory_phi
- function
- global_alias
- global_ifunc
- global_variable
- block_address
- constant_expr
- constant_array
- constant_struct
- constant_vector
- undef_value
- constant_aggregate_zero
- constant_data_array
- constant_data_vector
- constant_int
- constant_fp
- constant_pointer_null
- constant_token_none
- metadata_as_value
- inline_asm
- instruction
- poison_value
The ValueRef class
- class llvmlite.binding.ValueRef
A wrapper around an LLVM value. The attributes available are:
- is_declaration
True
—The global value is a mere declaration.False
—The global value is defined in the given module.
- name
This value’s name, as a string. This attribute can be set.
- storage_class
The storage class—a
StorageClass
instance—for this value. This attribute can be set.
- visibility
The visibility style—a
Visibility
instance—for this value. This attribute can be set.
- opcode
The instruction’s opcode, as a string.
- is_global
The value is a global variable.
- is_function
The value is a function.
- is_argument
The value is a function’s argument.
- is_block
The value is a function’s basic block.
- is_instruction
The value is a basic block’s instruction.
- is_operand
The value is a instruction’s operand.
- is_constant
The value is a constant.
- get_constant_value(self, signed_int=False, round_fp=False)
Return the constant value, either as a literal (for example, int or float) when supported, or as a string otherwise. Keyword arguments specify the preferences during conversion:
If
signed_int
is True and the constant is an integer, returns a signed integer.If
round_fp
True and the constant is a floating point value, rounds the result upon accuracy loss (e.g., when querying an fp128 value). By default, raises an exception on accuracy loss.