@@ -54,11 +54,11 @@ static Value createVectorLoadForMaskedLoad(OpBuilder &builder, Location loc,
5454 vector::MaskedLoadOp maskedOp,
5555 bool passthru) {
5656 VectorType vectorType = maskedOp.getVectorType ();
57- Value load = builder. create < vector::LoadOp> (
58- loc, vectorType, maskedOp.getBase (), maskedOp.getIndices ());
57+ Value load = vector::LoadOp::create (
58+ builder, loc, vectorType, maskedOp.getBase (), maskedOp.getIndices ());
5959 if (passthru)
60- load = builder. create < arith::SelectOp>( loc, vectorType, maskedOp.getMask (),
61- load, maskedOp.getPassThru ());
60+ load = arith::SelectOp::create (builder, loc, vectorType, maskedOp.getMask (),
61+ load, maskedOp.getPassThru ());
6262 return load;
6363}
6464
@@ -108,7 +108,7 @@ struct MaskedLoadLowering final : OpRewritePattern<vector::MaskedLoadOp> {
108108 SmallVector<OpFoldResult> indices = maskedOp.getIndices ();
109109
110110 auto stridedMetadata =
111- rewriter. create < memref::ExtractStridedMetadataOp>( loc, src);
111+ memref::ExtractStridedMetadataOp::create (rewriter, loc, src);
112112 SmallVector<OpFoldResult> strides =
113113 stridedMetadata.getConstifiedMixedStrides ();
114114 SmallVector<OpFoldResult> sizes = stridedMetadata.getConstifiedMixedSizes ();
@@ -122,47 +122,47 @@ struct MaskedLoadLowering final : OpRewritePattern<vector::MaskedLoadOp> {
122122
123123 // delta = bufferSize - linearizedOffset
124124 Value vectorSizeOffset =
125- rewriter. create < arith::ConstantIndexOp>( loc, vectorSize);
125+ arith::ConstantIndexOp::create (rewriter, loc, vectorSize);
126126 Value linearIndex =
127127 getValueOrCreateConstantIndexOp (rewriter, loc, linearizedIndices);
128128 Value totalSize = getValueOrCreateConstantIndexOp (
129129 rewriter, loc, linearizedInfo.linearizedSize );
130- Value delta = rewriter. create < arith::SubIOp>( loc, totalSize, linearIndex);
130+ Value delta = arith::SubIOp::create (rewriter, loc, totalSize, linearIndex);
131131
132132 // 1) check if delta < vectorSize
133- Value isOutofBounds = rewriter. create < arith::CmpIOp> (
134- loc, arith::CmpIPredicate::ult, delta, vectorSizeOffset);
133+ Value isOutofBounds = arith::CmpIOp::create (
134+ rewriter, loc, arith::CmpIPredicate::ult, delta, vectorSizeOffset);
135135
136136 // 2) check if (detla % elements_per_word != 0)
137- Value elementsPerWord = rewriter. create < arith::ConstantIndexOp> (
138- loc, llvm::divideCeil (32 , elementBitWidth));
139- Value isNotWordAligned = rewriter. create < arith::CmpIOp> (
140- loc, arith::CmpIPredicate::ne,
141- rewriter. create < arith::RemUIOp>( loc, delta, elementsPerWord),
142- rewriter. create < arith::ConstantIndexOp>( loc, 0 ));
137+ Value elementsPerWord = arith::ConstantIndexOp::create (
138+ rewriter, loc, llvm::divideCeil (32 , elementBitWidth));
139+ Value isNotWordAligned = arith::CmpIOp::create (
140+ rewriter, loc, arith::CmpIPredicate::ne,
141+ arith::RemUIOp::create (rewriter, loc, delta, elementsPerWord),
142+ arith::ConstantIndexOp::create (rewriter, loc, 0 ));
143143
144144 // We take the fallback of maskedload default lowering only it is both
145145 // out-of-bounds and not word aligned. The fallback ensures correct results
146146 // when loading at the boundary of the buffer since buffer load returns
147147 // inconsistent zeros for the whole word when boundary is crossed.
148148 Value ifCondition =
149- rewriter. create < arith::AndIOp>( loc, isOutofBounds, isNotWordAligned);
149+ arith::AndIOp::create (rewriter, loc, isOutofBounds, isNotWordAligned);
150150
151151 auto thenBuilder = [&](OpBuilder &builder, Location loc) {
152152 Operation *read = builder.clone (*maskedOp.getOperation ());
153153 read->setAttr (kMaskedloadNeedsMask , builder.getUnitAttr ());
154154 Value readResult = read->getResult (0 );
155- builder. create < scf::YieldOp>( loc, readResult);
155+ scf::YieldOp::create (builder, loc, readResult);
156156 };
157157
158158 auto elseBuilder = [&](OpBuilder &builder, Location loc) {
159159 Value res = createVectorLoadForMaskedLoad (builder, loc, maskedOp,
160160 /* passthru=*/ true );
161- rewriter. create < scf::YieldOp>( loc, res);
161+ scf::YieldOp::create (rewriter, loc, res);
162162 };
163163
164164 auto ifOp =
165- rewriter. create < scf::IfOp>( loc, ifCondition, thenBuilder, elseBuilder);
165+ scf::IfOp::create (rewriter, loc, ifCondition, thenBuilder, elseBuilder);
166166
167167 rewriter.replaceOp (maskedOp, ifOp);
168168
@@ -185,13 +185,13 @@ struct FullMaskedLoadToConditionalLoad
185185 auto trueBuilder = [&](OpBuilder &builder, Location loc) {
186186 Value res = createVectorLoadForMaskedLoad (builder, loc, loadOp,
187187 /* passthru=*/ false );
188- rewriter. create < scf::YieldOp>( loc, res);
188+ scf::YieldOp::create (rewriter, loc, res);
189189 };
190190 auto falseBuilder = [&](OpBuilder &builder, Location loc) {
191- rewriter. create < scf::YieldOp>( loc, loadOp.getPassThru ());
191+ scf::YieldOp::create (rewriter, loc, loadOp.getPassThru ());
192192 };
193- auto ifOp = rewriter. create < scf::IfOp>( loadOp.getLoc (), cond, trueBuilder,
194- falseBuilder);
193+ auto ifOp = scf::IfOp::create (rewriter, loadOp.getLoc (), cond, trueBuilder,
194+ falseBuilder);
195195 rewriter.replaceOp (loadOp, ifOp);
196196 return success ();
197197 }
@@ -210,11 +210,12 @@ struct FullMaskedStoreToConditionalStore
210210 Value cond = maybeCond.value ();
211211
212212 auto trueBuilder = [&](OpBuilder &builder, Location loc) {
213- rewriter. create < vector::StoreOp>( loc, storeOp.getValueToStore (),
214- storeOp.getBase (), storeOp.getIndices ());
215- rewriter. create < scf::YieldOp>( loc);
213+ vector::StoreOp::create (rewriter, loc, storeOp.getValueToStore (),
214+ storeOp.getBase (), storeOp.getIndices ());
215+ scf::YieldOp::create (rewriter, loc);
216216 };
217- auto ifOp = rewriter.create <scf::IfOp>(storeOp.getLoc (), cond, trueBuilder);
217+ auto ifOp =
218+ scf::IfOp::create (rewriter, storeOp.getLoc (), cond, trueBuilder);
218219 rewriter.replaceOp (storeOp, ifOp);
219220 return success ();
220221 }
0 commit comments