File tree 1 file changed +13
-7
lines changed 1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -23,14 +23,20 @@ include "mlir/IR/OpBase.td"
23
23
def VectorElementTypeInterface : TypeInterface<"VectorElementTypeInterface"> {
24
24
let cppNamespace = "::mlir";
25
25
let description = [{
26
- Indication that this type can be used as element in vector types.
27
-
28
26
Implementing this interface establishes a contract between this type and the
29
- vector type indicating that this type can be used as element of vectors.
30
-
31
- The interface currently has no methods and is used by types to opt into
32
- being vector elements. This may change in the future, in particular to
33
- require types to provide their size or alignment given a data layout.
27
+ vector type, indicating that this type can be used as element of vectors.
28
+
29
+ Vector element types are treated as a bag of bits without any assumed
30
+ structure. The size of an element type must be constant, but it does not
31
+ necessarily have to be a compile-time constant.
32
+
33
+ Note: This type interface is still evolving. It currently has no methods
34
+ and is just used as marker to allow types to opt into being vector elements.
35
+ This may change in the future, for example, to require types to provide
36
+ their size or alignment given a data layout. Please post an RFC before
37
+ adding this interface to additional types. Implementing this interface on
38
+ downstream types is discourged, until we specified the exact properties of
39
+ a vector element type in more detail.
34
40
}];
35
41
}
36
42
You can’t perform that action at this time.
0 commit comments