llvm2py.ir.type module¶
This module contains all types that exist in the LLVM IR representation. For detailed documentation, please refer to the source https://llvm.org/docs/LangRef.html#type-system
- class ArrayType(elem_count: int, elem_ty: Type)¶
Bases:
NamedTuple
- Parameters:
elem_count (int) – The number of elements in the array.
elem_ty (Type) – The array element type.
- class FPType(kind: str)¶
Bases:
NamedTuple
- Parameters:
kind (str) – One of {‘half’, ‘bfloat’, ‘float’, ‘double’, ‘fp128’, ‘x86_fp80’, ‘ppc_fp128’}
- class FunctionType(param_tys: list[Type], ret_ty: Type)¶
Bases:
NamedTuple
- Parameters:
param_tys (list[Type]) – List of function argument types in the appropriate order.
ret_ty (Type) – Type of value returned by function.
- class IntegerType(num_bits: int)¶
Bases:
NamedTuple
- Parameters:
num_bits (int) – Bit width.
- class LabelType¶
Bases:
NamedTuple
- class MetadataType¶
Bases:
NamedTuple
- class OpaqueType¶
Bases:
NamedTuple
- class PtrType(addr_space: int, ty: Type | None = None)¶
Bases:
NamedTuple
Almost always, pointers are opaque (untyped).
- Parameters:
addr_space (int) – Numbered address space where the pointed-to object resides.
ty (Type | None) – Pointer type (may be used by some gpu targets).
- class StructureType(name: str | None, elem_tys: list[Type], is_packed: bool = False)¶
Bases:
NamedTuple
- Parameters:
name (str | None) – Structure name, if it is a named structure.
- class TargetExtensionType(name: str, params: list[int | Type])¶
Bases:
NamedTuple
- Parameters:
name (str) – Type name.
params (list[int | Type]) – List of type parameters.
- class TokenType¶
Bases:
NamedTuple
- class VectorType(elem_count: int, elem_ty: Type, is_scalable: bool = False)¶
Bases:
NamedTuple
- Parameters:
elem_count (int) – Vector element count. If the vector is scalable, it is the minimum number of elements in this vector. The actual number of elements in the vector is an integer multiple of this value.
elem_ty (Type) – Vector element type.
is_scalable (bool) – If True, the vector is scalable (vscale).
- class VoidType¶
Bases:
NamedTuple
- class X86_amxType¶
Bases:
NamedTuple