类型引用
类型引用封装了 LLVM 类型。它允许访问类型的名称和 IR 表示。它也被诸如 TargetData.get_abi_size()
等方法接受。
TypeRef 类
- class llvmlite.binding.TypeRef
LLVM 类型的包装器。可用的属性有
- name
此类型的名称,以字符串形式表示。
- is_struct
真
—该类型是结构体类型假
—该类型不是结构体类型
- is_pointer
真
—该类型是指针类型假
—该类型不是指针类型
- is_array
真
—该类型是数组类型假
—该类型不是数组类型
- is_vector
真
—该类型是向量类型假
—该类型不是向量类型
- is_function_vararg
真
— 该函数类型接受可变数量的参数假
—该函数类型接受固定数量的参数
- elements
返回一个迭代器,遍历其包含的类型。例如,数组的元素或结构体的成员。
- element_type
如果该类型是指针,则返回所指向的类型。如果该类型不是指针类型,则引发 ValueError。
- element_count
返回数组或向量中的元素数量。对于可伸缩向量,返回最小元素数量。当类型既不是数组也不是向量时,引发异常。
- type_width
如果此类型是基本类型,则返回其基本大小。这些由 LLVM 固定,不依赖于目标。如果该类型没有大小或不是基本类型,则此方法将返回零。
如果这是可伸缩向量类型,则可伸缩属性将被设置,并且运行时大小将是基本大小的正整数倍。
请注意,这可能不反映为类型实例分配的内存大小,或将类型实例存储到内存时写入的字节数。
- type_kind
返回此类型的
LLVMTypeKind
枚举。
- as_ir(self, ir_ctx)
转换为
llvmlite.ir.Type
。
- __str__(self)
获取该类型的字符串 IR 表示。