Lines Matching refs:extractOp
1077 static LogicalResult foldExtractOpFromExtractChain(ExtractOp extractOp) { in foldExtractOpFromExtractChain() argument
1078 if (!extractOp.getVector().getDefiningOp<ExtractOp>()) in foldExtractOpFromExtractChain()
1082 ExtractOp currentOp = extractOp; in foldExtractOpFromExtractChain()
1090 extractOp.setOperand(currentOp.getVector()); in foldExtractOpFromExtractChain()
1092 OpBuilder b(extractOp.getContext()); in foldExtractOpFromExtractChain()
1094 extractOp->setAttr(ExtractOp::getPositionAttrStrName(), in foldExtractOpFromExtractChain()
1179 ExtractOp extractOp; member in __anon088a7a4f0c11::ExtractFromInsertTransposeChainState
1201 : extractOp(e), vectorRank(extractOp.getVectorType().getRank()), in ExtractFromInsertTransposeChainState()
1202 extractedRank(extractOp.getPosition().size()) { in ExtractFromInsertTransposeChainState()
1207 extractPosition = extractVector<int64_t>(extractOp.getPosition()); in ExtractFromInsertTransposeChainState()
1218 AffineMap::getPermutationMap(permutation, extractOp.getContext())); in handleTransposeOp()
1263 bool nothingToFold = (source == extractOp.getVector()); in tryToFoldExtractOpInPlace()
1267 OpBuilder b(extractOp.getContext()); in tryToFoldExtractOpInPlace()
1268 extractOp->setAttr( in tryToFoldExtractOpInPlace()
1269 extractOp.getPositionAttrName(), in tryToFoldExtractOpInPlace()
1272 extractOp.getVectorMutable().assign(source); in tryToFoldExtractOpInPlace()
1273 return extractOp.getResult(); in tryToFoldExtractOpInPlace()
1278 Value valueToExtractFrom = extractOp.getVector(); in fold()
1315 static Value foldExtractFromBroadcast(ExtractOp extractOp) { in foldExtractFromBroadcast() argument
1316 Operation *defOp = extractOp.getVector().getDefiningOp(); in foldExtractFromBroadcast()
1320 if (extractOp.getType() == source.getType()) in foldExtractFromBroadcast()
1326 unsigned extractResultRank = getRank(extractOp.getType()); in foldExtractFromBroadcast()
1330 auto extractVecType = extractOp.getType().dyn_cast<VectorType>(); in foldExtractFromBroadcast()
1336 auto extractPos = extractVector<int64_t>(extractOp.getPosition()); in foldExtractFromBroadcast()
1340 extractOp.setOperand(source); in foldExtractFromBroadcast()
1342 OpBuilder b(extractOp.getContext()); in foldExtractFromBroadcast()
1343 extractOp->setAttr(ExtractOp::getPositionAttrStrName(), in foldExtractFromBroadcast()
1345 return extractOp.getResult(); in foldExtractFromBroadcast()
1349 static Value foldExtractFromShapeCast(ExtractOp extractOp) { in foldExtractFromShapeCast() argument
1350 auto shapeCastOp = extractOp.getVector().getDefiningOp<vector::ShapeCastOp>(); in foldExtractFromShapeCast()
1358 extractOp.getType().isa<VectorType>() in foldExtractFromShapeCast()
1359 ? extractOp.getType().cast<VectorType>().getRank() in foldExtractFromShapeCast()
1364 auto destinationType = extractOp.getResult().getType().cast<VectorType>(); in foldExtractFromShapeCast()
1376 auto extractedPos = extractVector<int64_t>(extractOp.getPosition()); in foldExtractFromShapeCast()
1382 stride *= getDimReverse(extractOp.getVectorType(), i + destinationRank); in foldExtractFromShapeCast()
1400 OpBuilder b(extractOp.getContext()); in foldExtractFromShapeCast()
1401 extractOp->setAttr(ExtractOp::getPositionAttrStrName(), in foldExtractFromShapeCast()
1403 extractOp.setOperand(shapeCastOp.getSource()); in foldExtractFromShapeCast()
1404 return extractOp.getResult(); in foldExtractFromShapeCast()
1408 static Value foldExtractFromExtractStrided(ExtractOp extractOp) { in foldExtractFromExtractStrided() argument
1410 extractOp.getVector().getDefiningOp<vector::ExtractStridedSliceOp>(); in foldExtractFromExtractStrided()
1429 if (auto vecType = extractOp.getType().dyn_cast<VectorType>()) in foldExtractFromExtractStrided()
1436 auto extractedPos = extractVector<int64_t>(extractOp.getPosition()); in foldExtractFromExtractStrided()
1440 extractOp.getVectorMutable().assign(extractStridedSliceOp.getVector()); in foldExtractFromExtractStrided()
1442 OpBuilder b(extractOp.getContext()); in foldExtractFromExtractStrided()
1443 extractOp->setAttr(ExtractOp::getPositionAttrStrName(), in foldExtractFromExtractStrided()
1445 return extractOp.getResult(); in foldExtractFromExtractStrided()
1536 LogicalResult matchAndRewrite(ExtractOp extractOp, in matchAndRewrite() argument
1538 Operation *defOp = extractOp.getVector().getDefiningOp(); in matchAndRewrite()
1543 if (extractOp.getType() == source.getType()) in matchAndRewrite()
1549 unsigned extractResultRank = getRank(extractOp.getType()); in matchAndRewrite()
1556 extractOp, extractOp.getType(), source); in matchAndRewrite()
1566 LogicalResult matchAndRewrite(ExtractOp extractOp, in matchAndRewrite() argument
1570 auto constantOp = extractOp.getVector().getDefiningOp<arith::ConstantOp>(); in matchAndRewrite()
1577 if (auto vecDstType = extractOp.getType().dyn_cast<VectorType>()) in matchAndRewrite()
1579 rewriter.replaceOpWithNewOp<arith::ConstantOp>(extractOp, newAttr); in matchAndRewrite()
3228 auto extractOp = xferOp.getSource().getDefiningOp<tensor::ExtractSliceOp>(); in matchAndRewrite() local
3229 if (!extractOp) in matchAndRewrite()
3231 if (!extractOp.hasUnitStride()) in matchAndRewrite()
3251 extractOp.getSourceType().getRank() - extractOp.getType().getRank(); in matchAndRewrite()
3255 extractOp.getSourceType(), extractOp.getMixedOffsets(), in matchAndRewrite()
3256 extractOp.getMixedSizes(), extractOp.getMixedStrides()); in matchAndRewrite()
3257 auto actualDestTensorShape = extractOp.getType().getShape(); in matchAndRewrite()
3267 OpFoldResult offset = extractOp.getMixedOffsets()[i]; in matchAndRewrite()
3269 rewriter, extractOp.getLoc(), offset)); in matchAndRewrite()
3273 extractOp.getMixedOffsets()[it.index() + rankReduced]; in matchAndRewrite()
3276 getValueOrCreateConstantIndexOp(rewriter, extractOp.getLoc(), in matchAndRewrite()
3281 xferOp, xferOp.getVectorType(), extractOp.getSource(), newIndices, in matchAndRewrite()
3807 auto extractOp = in matchAndRewrite() local
3809 if (!extractOp || !extractOp.hasUnitStride() || !extractOp->hasOneUse()) in matchAndRewrite()
3811 auto transferOp = extractOp.getSource().getDefiningOp<TransferWriteOp>(); in matchAndRewrite()
3823 if (!extractOp.hasZeroOffset()) { in matchAndRewrite()
3838 llvm::zip(insertOp.getMixedSizes(), extractOp.getMixedSizes())) { in matchAndRewrite()
3863 extractOp.getLoc(), insertOp.getSourceType(), insertOp.getDest(), in matchAndRewrite()