| 
13 | 13 | namespace mlir {  | 
14 | 14 | 
 
  | 
15 | 15 | class VectorType;  | 
16 |  | -class OpOperand;  | 
17 |  | -class OpResult;  | 
18 |  | -class OpBuilder;  | 
19 |  | -class ValueRange;  | 
20 |  | -class TypeConverter;  | 
21 |  | - | 
22 | 16 | namespace xegpu {  | 
23 | 17 | class LayoutAttr;  | 
24 | 18 | class TensorDescType;  | 
@@ -56,59 +50,6 @@ FailureOr<VectorType> getDistributedVectorType(xegpu::TensorDescType tdescTy);  | 
56 | 50 | FailureOr<VectorType> getDistributedVectorType(VectorType originalType,  | 
57 | 51 |                                                LayoutAttr layout);  | 
58 | 52 | 
 
  | 
59 |  | -/// Return the attribute name for the OpOperand to attach LayoutAttr  | 
60 |  | -std::string getLayoutName(const OpOperand &operand);  | 
61 |  | - | 
62 |  | -/// Return the attribute name for the OpResult to attach LayoutAttr  | 
63 |  | -std::string getLayoutName(const OpResult result);  | 
64 |  | - | 
65 |  | -/// Retrieves the LayoutAttr associated with a given Value. For TensorDescType  | 
66 |  | -/// values, the LayoutAttr is extracted from the TensorDescType itself. For  | 
67 |  | -/// other values, it is obtained from the attributes of the defining operation.  | 
68 |  | -/// Returns nullptr if no LayoutAttr is found.  | 
69 |  | -LayoutAttr getLayoutAttr(const Value value);  | 
70 |  | - | 
71 |  | -/// Retrieves the LayoutAttr associated with a given OpOperand. It will  | 
72 |  | -/// first check the operand_layout_{id} of the owner operation. If not found,  | 
73 |  | -/// it will check the operand itself and its defining op.  | 
74 |  | -LayoutAttr getLayoutAttr(const OpOperand &opr);  | 
75 |  | - | 
76 |  | -/// Sets the LayoutAttr for a given OpOperand or OpResult by attaching  | 
77 |  | -/// it to the owner's dictionary attributes  | 
78 |  | -template <typename T,  | 
79 |  | -          typename = std::enable_if_t<std::is_same_v<T, OpOperand> ||  | 
80 |  | -                                      std::is_same_v<T, OpResult>>>  | 
81 |  | -void setLayoutAttr(const T &operandOrResult, const LayoutAttr layout);  | 
82 |  | - | 
83 |  | -/// Set the LayoutAttr for each OpOperand and OpResult of the given operation.  | 
84 |  | -/// If the operation contains regions, it is also applied recursively to the  | 
85 |  | -/// contained operations  | 
86 |  | -void setLayoutAttrs(Operation *op,  | 
87 |  | -                    function_ref<LayoutAttr(Value)> getLayoutImpl);  | 
88 |  | - | 
89 |  | -/// Extract a set of small vectors from a value with a given shape using  | 
90 |  | -/// vector.extract_stride_slice  | 
91 |  | -SmallVector<Value> extractVectorsWithShapeFromValue(OpBuilder &builder,  | 
92 |  | -                                                    Location loc, Value value,  | 
93 |  | -                                                    ArrayRef<int64_t> shape);  | 
94 |  | - | 
95 |  | -/// Create a vector of shape from a set of values using  | 
96 |  | -/// vector.insert_stride_slice.  | 
97 |  | -Value createVectorWithShapeFromValues(OpBuilder &builder, Location loc,  | 
98 |  | -                                      ValueRange values,  | 
99 |  | -                                      ArrayRef<int64_t> shape);  | 
100 |  | - | 
101 |  | -/// Do type conversion for SCF structural ops, e.g., scf.for using SCF structure  | 
102 |  | -/// type convertion patterns. Since VectorType cannot carry the layout  | 
103 |  | -/// attribute, which is needed to guide the type conversion for XeGPU, they are  | 
104 |  | -/// first converted into RankedTensorType, where the layout attribute can be  | 
105 |  | -/// attached. And then upstream SCF structural type conversion patterns are  | 
106 |  | -/// applied with the provided converter.  | 
107 |  | -/// TODO: This is a temporary solution. We should refactor it when context-aware  | 
108 |  | -/// type conversion is available.  | 
109 |  | -void doSCFStructuralTypeConversionWithTensorType(Operation *op,  | 
110 |  | -                                                 TypeConverter converter);  | 
111 |  | - | 
112 | 53 | } // namespace xegpu  | 
113 | 54 | 
 
  | 
114 | 55 | } // namespace mlir  | 
 | 
0 commit comments