pub enum MlirType {
Integer(u32, bool),
Float(u32),
Index,
MemRef(Box<MlirType>, Vec<i64>, AffineMap),
Tensor(Vec<i64>, Box<MlirType>),
Vector(Vec<u64>, Box<MlirType>),
Tuple(Vec<MlirType>),
NoneType,
Custom(String),
FuncType(Vec<MlirType>, Vec<MlirType>),
Complex(Box<MlirType>),
UnrankedMemRef(Box<MlirType>),
}Expand description
MLIR type system.
Variants§
Integer(u32, bool)
Signless integer: i1, i8, i16, i32, i64
bool: signed = false (signless), i.e. iN
With signed = true, displayed as si<N> (for annotation only)
Float(u32)
Float types: f16, f32, f64, f80, f128, bf16
Index
Index type (platform-dependent integer, pointer-sized)
MemRef(Box<MlirType>, Vec<i64>, AffineMap)
MemRef type: memref<NxMxT, affine_map> or memref<?xT>
Tensor(Vec<i64>, Box<MlirType>)
Ranked tensor: tensor<2x3xf32> or tensor<?x4xi64>
Vector(Vec<u64>, Box<MlirType>)
Vector type (always statically shaped): vector<4xf32>
Tuple(Vec<MlirType>)
Tuple type: tuple<i32, f64>
NoneType
None type
Custom(String)
Custom / opaque type (e.g., from external dialect)
FuncType(Vec<MlirType>, Vec<MlirType>)
Function type: (i32, i64) -> f32
Complex(Box<MlirType>)
Complex type: complex<f32>
UnrankedMemRef(Box<MlirType>)
Unranked memref: memref<*xT>
Trait Implementations§
impl StructuralPartialEq for MlirType
Auto Trait Implementations§
impl Freeze for MlirType
impl RefUnwindSafe for MlirType
impl Send for MlirType
impl Sync for MlirType
impl Unpin for MlirType
impl UnsafeUnpin for MlirType
impl UnwindSafe for MlirType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more