@@ -69,25 +69,25 @@ struct MathCosToVCIX final : OpRewritePattern<math::CosOp> {
6969 if (legalType.isScalable ())
7070 // Use arbitrary runtime vector length when vector type is scalable.
7171 // 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 ));
7474 Value res;
7575 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);
7878 } else {
7979 const unsigned eltCount = legalType.getShape ()[0 ];
8080 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*/ );
8484 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);
9191 }
9292 }
9393 rewriter.replaceOp (op, res);
@@ -112,25 +112,25 @@ struct MathSinToVCIX final : OpRewritePattern<math::SinOp> {
112112 if (legalType.isScalable ())
113113 // Use arbitrary runtime vector length when vector type is scalable.
114114 // 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 ));
117117 Value res;
118118 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);
121121 } else {
122122 const unsigned eltCount = legalType.getShape ()[0 ];
123123 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*/ );
127127 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);
134134 }
135135 }
136136 rewriter.replaceOp (op, res);
@@ -152,28 +152,28 @@ struct MathTanToVCIX final : OpRewritePattern<math::TanOp> {
152152 Location loc = op.getLoc ();
153153 Value vec = op.getOperand ();
154154 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));
157157 Value rvl = nullptr ;
158158 if (legalType.isScalable ())
159159 // Use arbitrary runtime vector length when vector type is scalable.
160160 // 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 ));
163163 Value res;
164164 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);
167167 } else {
168168 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*/ );
170170 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);
177177 }
178178 }
179179 rewriter.replaceOp (op, res);
@@ -195,30 +195,30 @@ struct MathLogToVCIX final : OpRewritePattern<math::LogOp> {
195195 Value vec = op.getOperand ();
196196 Attribute opcodeAttr = rewriter.getI64IntegerAttr (0 );
197197 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 ));
200200 if (legalType.isScalable ())
201201 // Use arbitrary runtime vector length when vector type is scalable.
202202 // 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 ));
205205 Value res;
206206 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);
209209 } else {
210210 const unsigned eltCount = legalType.getShape ()[0 ];
211211 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*/ );
215215 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);
222222 }
223223 }
224224 rewriter.replaceOp (op, res);
0 commit comments