@@ -69,25 +69,25 @@ struct MathCosToVCIX final : OpRewritePattern<math::CosOp> {
69
69
if (legalType.isScalable ())
70
70
// Use arbitrary runtime vector length when vector type is scalable.
71
71
// Proper conversion pass should take it from the IR.
72
- rvl = rewriter. create < arith::ConstantOp>( loc,
73
- rewriter.getI64IntegerAttr (9 ));
72
+ rvl = arith::ConstantOp::create (rewriter, loc,
73
+ rewriter.getI64IntegerAttr (9 ));
74
74
Value res;
75
75
if (n == 1 ) {
76
- res = rewriter. create < vcix::BinaryImmOp>( loc, legalType, opcodeAttr, vec,
77
- immAttr, rvl);
76
+ res = vcix::BinaryImmOp::create (rewriter, loc, legalType, opcodeAttr, vec,
77
+ immAttr, rvl);
78
78
} else {
79
79
const unsigned eltCount = legalType.getShape ()[0 ];
80
80
Type eltTy = legalType.getElementType ();
81
- Value zero = rewriter. create < arith::ConstantOp>(
82
- loc, eltTy, rewriter.getZeroAttr (eltTy));
83
- res = rewriter. create < vector::BroadcastOp>( loc, opType, zero /* dummy*/ );
81
+ Value zero = arith::ConstantOp::create (rewriter, loc, eltTy,
82
+ rewriter.getZeroAttr (eltTy));
83
+ res = vector::BroadcastOp::create (rewriter, loc, opType, zero /* dummy*/ );
84
84
for (unsigned i = 0 ; i < n; ++i) {
85
- Value extracted = rewriter. create < vector::ScalableExtractOp> (
86
- loc, legalType, vec, i * eltCount);
87
- Value v = rewriter. create < vcix::BinaryImmOp>(loc, legalType, opcodeAttr,
88
- extracted, immAttr, rvl);
89
- res = rewriter. create < vector::ScalableInsertOp>( loc, v, res,
90
- i * eltCount);
85
+ Value extracted = vector::ScalableExtractOp::create (
86
+ rewriter, loc, legalType, vec, i * eltCount);
87
+ Value v = vcix::BinaryImmOp::create (
88
+ rewriter, loc, legalType, opcodeAttr, extracted, immAttr, rvl);
89
+ res = vector::ScalableInsertOp::create (rewriter, loc, v, res,
90
+ i * eltCount);
91
91
}
92
92
}
93
93
rewriter.replaceOp (op, res);
@@ -112,25 +112,25 @@ struct MathSinToVCIX final : OpRewritePattern<math::SinOp> {
112
112
if (legalType.isScalable ())
113
113
// Use arbitrary runtime vector length when vector type is scalable.
114
114
// Proper conversion pass should take it from the IR.
115
- rvl = rewriter. create < arith::ConstantOp>( loc,
116
- rewriter.getI64IntegerAttr (9 ));
115
+ rvl = arith::ConstantOp::create (rewriter, loc,
116
+ rewriter.getI64IntegerAttr (9 ));
117
117
Value res;
118
118
if (n == 1 ) {
119
- res = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr, vec,
120
- vec, rvl);
119
+ res = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr, vec,
120
+ vec, rvl);
121
121
} else {
122
122
const unsigned eltCount = legalType.getShape ()[0 ];
123
123
Type eltTy = legalType.getElementType ();
124
- Value zero = rewriter. create < arith::ConstantOp>(
125
- loc, eltTy, rewriter.getZeroAttr (eltTy));
126
- res = rewriter. create < vector::BroadcastOp>( loc, opType, zero /* dummy*/ );
124
+ Value zero = arith::ConstantOp::create (rewriter, loc, eltTy,
125
+ rewriter.getZeroAttr (eltTy));
126
+ res = vector::BroadcastOp::create (rewriter, loc, opType, zero /* dummy*/ );
127
127
for (unsigned i = 0 ; i < n; ++i) {
128
- Value extracted = rewriter. create < vector::ScalableExtractOp> (
129
- loc, legalType, vec, i * eltCount);
130
- Value v = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr,
131
- extracted, extracted, rvl);
132
- res = rewriter. create < vector::ScalableInsertOp>( loc, v, res,
133
- i * eltCount);
128
+ Value extracted = vector::ScalableExtractOp::create (
129
+ rewriter, loc, legalType, vec, i * eltCount);
130
+ Value v = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr,
131
+ extracted, extracted, rvl);
132
+ res = vector::ScalableInsertOp::create (rewriter, loc, v, res,
133
+ i * eltCount);
134
134
}
135
135
}
136
136
rewriter.replaceOp (op, res);
@@ -152,28 +152,28 @@ struct MathTanToVCIX final : OpRewritePattern<math::TanOp> {
152
152
Location loc = op.getLoc ();
153
153
Value vec = op.getOperand ();
154
154
Attribute opcodeAttr = rewriter.getI64IntegerAttr (0 );
155
- Value zero = rewriter. create < arith::ConstantOp>(
156
- loc, eltTy, rewriter.getZeroAttr (eltTy));
155
+ Value zero = arith::ConstantOp::create (rewriter, loc, eltTy,
156
+ rewriter.getZeroAttr (eltTy));
157
157
Value rvl = nullptr ;
158
158
if (legalType.isScalable ())
159
159
// Use arbitrary runtime vector length when vector type is scalable.
160
160
// Proper conversion pass should take it from the IR.
161
- rvl = rewriter. create < arith::ConstantOp>( loc,
162
- rewriter.getI64IntegerAttr (9 ));
161
+ rvl = arith::ConstantOp::create (rewriter, loc,
162
+ rewriter.getI64IntegerAttr (9 ));
163
163
Value res;
164
164
if (n == 1 ) {
165
- res = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr, vec,
166
- zero, rvl);
165
+ res = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr, vec,
166
+ zero, rvl);
167
167
} else {
168
168
const unsigned eltCount = legalType.getShape ()[0 ];
169
- res = rewriter. create < vector::BroadcastOp>( loc, opType, zero /* dummy*/ );
169
+ res = vector::BroadcastOp::create (rewriter, loc, opType, zero /* dummy*/ );
170
170
for (unsigned i = 0 ; i < n; ++i) {
171
- Value extracted = rewriter. create < vector::ScalableExtractOp> (
172
- loc, legalType, vec, i * eltCount);
173
- Value v = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr,
174
- extracted, zero, rvl);
175
- res = rewriter. create < vector::ScalableInsertOp>( loc, v, res,
176
- i * eltCount);
171
+ Value extracted = vector::ScalableExtractOp::create (
172
+ rewriter, loc, legalType, vec, i * eltCount);
173
+ Value v = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr,
174
+ extracted, zero, rvl);
175
+ res = vector::ScalableInsertOp::create (rewriter, loc, v, res,
176
+ i * eltCount);
177
177
}
178
178
}
179
179
rewriter.replaceOp (op, res);
@@ -195,30 +195,30 @@ struct MathLogToVCIX final : OpRewritePattern<math::LogOp> {
195
195
Value vec = op.getOperand ();
196
196
Attribute opcodeAttr = rewriter.getI64IntegerAttr (0 );
197
197
Value rvl = nullptr ;
198
- Value zeroInt = rewriter. create < arith::ConstantOp> (
199
- loc, rewriter.getI32Type (), rewriter.getI32IntegerAttr (0 ));
198
+ Value zeroInt = arith::ConstantOp::create (
199
+ rewriter, loc, rewriter.getI32Type (), rewriter.getI32IntegerAttr (0 ));
200
200
if (legalType.isScalable ())
201
201
// Use arbitrary runtime vector length when vector type is scalable.
202
202
// Proper conversion pass should take it from the IR.
203
- rvl = rewriter. create < arith::ConstantOp>( loc,
204
- rewriter.getI64IntegerAttr (9 ));
203
+ rvl = arith::ConstantOp::create (rewriter, loc,
204
+ rewriter.getI64IntegerAttr (9 ));
205
205
Value res;
206
206
if (n == 1 ) {
207
- res = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr, vec,
208
- zeroInt, rvl);
207
+ res = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr, vec,
208
+ zeroInt, rvl);
209
209
} else {
210
210
const unsigned eltCount = legalType.getShape ()[0 ];
211
211
Type eltTy = legalType.getElementType ();
212
- Value zero = rewriter. create < arith::ConstantOp>(
213
- loc, eltTy, rewriter.getZeroAttr (eltTy));
214
- res = rewriter. create < vector::BroadcastOp>( loc, opType, zero /* dummy*/ );
212
+ Value zero = arith::ConstantOp::create (rewriter, loc, eltTy,
213
+ rewriter.getZeroAttr (eltTy));
214
+ res = vector::BroadcastOp::create (rewriter, loc, opType, zero /* dummy*/ );
215
215
for (unsigned i = 0 ; i < n; ++i) {
216
- Value extracted = rewriter. create < vector::ScalableExtractOp> (
217
- loc, legalType, vec, i * eltCount);
218
- Value v = rewriter. create < vcix::BinaryOp>( loc, legalType, opcodeAttr,
219
- extracted, zeroInt, rvl);
220
- res = rewriter. create < vector::ScalableInsertOp>( loc, v, res,
221
- i * eltCount);
216
+ Value extracted = vector::ScalableExtractOp::create (
217
+ rewriter, loc, legalType, vec, i * eltCount);
218
+ Value v = vcix::BinaryOp::create (rewriter, loc, legalType, opcodeAttr,
219
+ extracted, zeroInt, rvl);
220
+ res = vector::ScalableInsertOp::create (rewriter, loc, v, res,
221
+ i * eltCount);
222
222
}
223
223
}
224
224
rewriter.replaceOp (op, res);
0 commit comments