Enum llvm_ir::types::Type [−][src]
pub enum Type {}Show variants
VoidType, IntegerType { bits: u32, }, PointerType { pointee_type: TypeRef, addr_space: AddrSpace, }, FPType(FPType), FuncType { result_type: TypeRef, param_types: Vec<TypeRef>, is_var_arg: bool, }, VectorType { element_type: TypeRef, num_elements: usize, }, ArrayType { element_type: TypeRef, num_elements: usize, }, StructType { element_types: Vec<TypeRef>, is_packed: bool, }, NamedStructType { name: String, }, X86_MMXType, MetadataType, LabelType, TokenType,
Expand description
Variants
Show fields
Fields of IntegerType
bits: u32
FPType(FPType)
Vector types (along with integer, FP, pointer, X86_MMX, and X86_AMX types) are “first class types”, which means they can be produced by instructions (see LLVM 12 docs on First Class Types). See LLVM 12 docs on Vector Type
Struct and Array types (but not vector types) are “aggregate types” and cannot be produced by a single instruction (see LLVM 12 docs on Aggregate Types). See LLVM 12 docs on Array Type
The StructType
variant is used for a “literal” (i.e., anonymous) structure type.
See LLVM 12 docs on Structure Type
Named structure types. Note that these may be self-referential (i.e., recursive).
See LLVM 12 docs on Structure Type
To get the actual definition of a named structure type, use module.types.named_struct_def()
.
Show fields
Fields of NamedStructType
name: String
Name of the struct type
LabelType
is the type of BasicBlock
labels.
See LLVM 12 docs on Label Type
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Type
impl UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more