Lines Matching defs:sliceOp
830 if (auto sliceOp = dyn_cast_or_null<tensor::ExtractSliceOp>(definingOp)) {
833 if (sliceOp.getType().getRank() == sliceOp.getSourceType().getRank() &&
834 sliceOp.isDynamicSize(unsignedIndex)) {
835 return {sliceOp.getDynamicSize(unsignedIndex)};
2395 LogicalResult matchAndRewrite(ExtractSliceOp sliceOp,
2398 if (llvm::any_of(sliceOp.getOperands(), [](Value operand) {
2403 auto castOp = sliceOp.getSource().getDefiningOp<CastOp>();
2411 Location loc = sliceOp.getLoc();
2413 loc, sliceOp.getType(), castOp.getSource(), sliceOp.getOffsets(),
2414 sliceOp.getSizes(), sliceOp.getStrides(), sliceOp.getStaticOffsets(),
2415 sliceOp.getStaticSizes(), sliceOp.getStaticStrides());
2416 if (newResult.getType() != sliceOp.getType())
2417 newResult = rewriter.create<CastOp>(loc, sliceOp.getType(), newResult);
2418 rewriter.replaceOp(sliceOp, newResult);