Lines Matching full:create
68 builder.create<memref::DeallocOp>(loc, adaptor.getMemrefs()[0]);
69 builder.create<scf::YieldOp>(loc);
112 Value memrefAsIdx = rewriter.create<memref::ExtractAlignedPointerAsIndexOp>(
116 rewriter.create<memref::ExtractAlignedPointerAsIndexOp>(op->getLoc(),
118 Value doesNotAlias = rewriter.create<arith::CmpIOp>(
126 prev = rewriter.create<arith::AndIOp>(op->getLoc(), prev, doesNotAlias);
130 Value shouldDealloc = rewriter.create<arith::AndIOp>(
133 rewriter.create<scf::IfOp>(
135 builder.create<memref::DeallocOp>(loc, adaptor.getMemrefs()[0]);
136 builder.create<scf::YieldOp>(loc);
144 Value trueVal = rewriter.create<arith::ConstantOp>(
148 rewriter.create<arith::XOrIOp>(op->getLoc(), doesNotAlias, trueVal);
149 Value result = rewriter.create<arith::AndIOp>(op->getLoc(), aliases,
234 Value toDeallocMemref = rewriter.create<memref::AllocOp>(
237 Value conditionMemref = rewriter.create<memref::AllocOp>(
240 Value toRetainMemref = rewriter.create<memref::AllocOp>(
245 return rewriter.create<arith::ConstantOp>(op.getLoc(),
253 rewriter.create<memref::ExtractAlignedPointerAsIndexOp>(op.getLoc(),
255 rewriter.create<memref::StoreOp>(op.getLoc(), memrefAsIdx,
260 rewriter.create<memref::StoreOp>(op.getLoc(), cond, conditionMemref,
265 rewriter.create<memref::ExtractAlignedPointerAsIndexOp>(op.getLoc(),
267 rewriter.create<memref::StoreOp>(op.getLoc(), memrefAsIdx, toRetainMemref,
274 Value castedDeallocMemref = rewriter.create<memref::CastOp>(
278 Value castedCondsMemref = rewriter.create<memref::CastOp>(
282 Value castedRetainMemref = rewriter.create<memref::CastOp>(
287 Value deallocCondsMemref = rewriter.create<memref::AllocOp>(
290 Value retainCondsMemref = rewriter.create<memref::AllocOp>(
294 Value castedDeallocCondsMemref = rewriter.create<memref::CastOp>(
298 Value castedRetainCondsMemref = rewriter.create<memref::CastOp>(
304 rewriter.create<func::CallOp>(
312 Value shouldDealloc = rewriter.create<memref::LoadOp>(
314 rewriter.create<scf::IfOp>(
316 builder.create<memref::DeallocOp>(loc, adaptor.getMemrefs()[i]);
317 builder.create<scf::YieldOp>(loc);
324 Value ownership = rewriter.create<memref::LoadOp>(
331 rewriter.create<memref::DeallocOp>(op.getLoc(), toDeallocMemref);
332 rewriter.create<memref::DeallocOp>(op.getLoc(), toRetainMemref);
333 rewriter.create<memref::DeallocOp>(op.getLoc(), conditionMemref);
334 rewriter.create<memref::DeallocOp>(op.getLoc(), deallocCondsMemref);
335 rewriter.create<memref::DeallocOp>(op.getLoc(), retainCondsMemref);
353 Value falseVal = rewriter.create<arith::ConstantOp>(
438 auto helperFuncOp = func::FuncOp::create(
453 Value c0 = builder.create<arith::ConstantOp>(loc, builder.getIndexAttr(0));
454 Value c1 = builder.create<arith::ConstantOp>(loc, builder.getIndexAttr(1));
456 builder.create<arith::ConstantOp>(loc, builder.getBoolAttr(true));
458 builder.create<arith::ConstantOp>(loc, builder.getBoolAttr(false));
459 Value toDeallocSize = builder.create<memref::DimOp>(loc, toDeallocMemref, c0);
460 Value toRetainSize = builder.create<memref::DimOp>(loc, toRetainMemref, c0);
462 builder.create<scf::ForOp>(
465 builder.create<memref::StoreOp>(loc, falseValue, retainCondsMemref, i);
466 builder.create<scf::YieldOp>(loc);
469 builder.create<scf::ForOp>(
474 builder.create<memref::LoadOp>(loc, toDeallocMemref, outerIter);
476 builder.create<memref::LoadOp>(loc, conditionMemref, outerIter);
482 .create<scf::ForOp>(
486 Value retainValue = builder.create<memref::LoadOp>(
488 Value doesAlias = builder.create<arith::CmpIOp>(
491 builder.create<scf::IfOp>(
495 builder.create<memref::LoadOp>(
498 builder.create<arith::OrIOp>(
500 builder.create<memref::StoreOp>(
503 builder.create<scf::YieldOp>(loc);
505 Value doesntAlias = builder.create<arith::CmpIOp>(
508 Value yieldValue = builder.create<arith::AndIOp>(
510 builder.create<scf::YieldOp>(loc, yieldValue);
518 .create<scf::ForOp>(
522 Value prevDeallocValue = builder.create<memref::LoadOp>(
524 Value doesntAlias = builder.create<arith::CmpIOp>(
527 Value yieldValue = builder.create<arith::AndIOp>(
529 builder.create<scf::YieldOp>(loc, yieldValue);
533 Value shouldDealoc = builder.create<arith::AndIOp>(loc, noAlias, cond);
534 builder.create<memref::StoreOp>(loc, shouldDealoc, deallocCondsMemref,
536 builder.create<scf::YieldOp>(loc);
539 builder.create<func::ReturnOp>(loc);