Home
last modified time | relevance | path

Searched refs:indexingMaps (Results 1 – 19 of 19) sorted by relevance

/llvm-project-15.0.7/mlir/lib/Dialect/Utils/
H A DStructuredOpsUtils.cpp15 bool mlir::isRowMajorMatmul(ArrayAttr indexingMaps) { in isRowMajorMatmul() argument
16 if (indexingMaps.size() != 3) in isRowMajorMatmul()
33 auto *context = indexingMaps.getContext(); in isRowMajorMatmul()
38 return indexingMaps == maps; in isRowMajorMatmul()
41 bool mlir::isColumnMajorMatmul(ArrayAttr indexingMaps) { in isColumnMajorMatmul() argument
42 if (indexingMaps.size() != 3) in isColumnMajorMatmul()
59 auto *context = indexingMaps.getContext(); in isColumnMajorMatmul()
64 return indexingMaps == maps; in isColumnMajorMatmul()
68 if (indexingMaps.size() != 3) in isRowMajorBatchMatmul()
86 auto *context = indexingMaps.getContext(); in isRowMajorBatchMatmul()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DDropUnitDims.cpp100 ArrayRef<AffineMap> indexingMaps, in replaceUnitDims() argument
102 if (indexingMaps.empty()) in replaceUnitDims()
104 unsigned numIterationDims = indexingMaps.front().getNumDims(); in replaceUnitDims()
105 unsigned numSymbols = indexingMaps.front().getNumSymbols(); in replaceUnitDims()
125 newIndexingMaps.reserve(indexingMaps.size()); in replaceUnitDims()
126 for (AffineMap operandMap : indexingMaps) { in replaceUnitDims()
174 SmallVector<AffineMap, 4> indexingMaps = genericOp.getIndexingMapsArray(); in matchAndRewrite() local
175 if (indexingMaps.empty()) in matchAndRewrite()
181 AffineMap invertedMap = inversePermutation(concatAffineMaps(indexingMaps)); in matchAndRewrite()
201 replaceUnitDims(unitDims, indexingMaps, context); in matchAndRewrite()
H A DGeneralization.cpp49 SmallVector<AffineMap> indexingMaps = linalgOp.getIndexingMapsArray(); in generalizeNamedOp() local
60 outputOperands, indexingMaps, iterators); in generalizeNamedOp()
H A DDecomposeLinalgOps.cpp227 auto indexingMaps = llvm::to_vector( in createResidualGenericOp() local
234 indexingMaps.push_back(peeledGenericOp.getTiedIndexingMapForResult(result)); in createResidualGenericOp()
237 indexingMaps.push_back(genericOp.getTiedIndexingMap(outOperand)); in createResidualGenericOp()
239 auto indexingMapAttr = rewriter.getAffineMapArrayAttr(indexingMaps); in createResidualGenericOp()
H A DElementwiseToLinalg.cpp87 SmallVector<AffineMap, 3> indexingMaps( in matchAndRewrite() local
97 /*indexingMaps=*/indexingMaps, in matchAndRewrite()
H A DSplitReduction.cpp415 SmallVector<AffineMap> indexingMaps = { in splitReductionByScaling() local
428 indexingMaps, in splitReductionByScaling()
H A DElementwiseOpFusion.cpp1354 auto indexingMaps = llvm::to_vector( in collapseGenericOpIterationDims() local
1382 loc, resultTypes, inputOperands, outputOperands, indexingMaps, in collapseGenericOpIterationDims()
/llvm-project-15.0.7/mlir/lib/Conversion/LinalgToSPIRV/
H A DLinalgToSPIRV.cpp90 auto indexingMaps = genericOp.getIndexingMapsArray(); in matchAsPerformingReduction() local
91 if (indexingMaps.size() != 2) in matchAsPerformingReduction()
96 auto inputMap = indexingMaps[0]; in matchAsPerformingReduction()
97 auto outputMap = indexingMaps[1]; in matchAsPerformingReduction()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/IR/
H A DLinalgInterfaces.cpp32 SmallVector<AffineMap> indexingMaps; in canOpOperandsBeDroppedImpl() local
36 indexingMaps.push_back(linalgOp.getTiedIndexingMap(opOperand)); in canOpOperandsBeDroppedImpl()
38 return inversePermutation(concatAffineMaps(indexingMaps)) != AffineMap(); in canOpOperandsBeDroppedImpl()
283 auto indexingMaps = linalgOp.getIndexingMapsArray(); in isConvolutionInterfaceImpl() local
287 if (llvm::any_of(indexingMaps[0].getResults(), in isConvolutionInterfaceImpl()
295 if (!indexingMaps[1].isProjectedPermutation() || in isConvolutionInterfaceImpl()
296 !indexingMaps.back().isProjectedPermutation()) in isConvolutionInterfaceImpl()
303 getPreservedDims(indexingMaps.back()); in isConvolutionInterfaceImpl()
304 llvm::SmallDenseSet<unsigned> filterDims = getPreservedDims(indexingMaps[1]); in isConvolutionInterfaceImpl()
319 for (auto outputExpr : indexingMaps.back().getResults()) { in isConvolutionInterfaceImpl()
[all …]
H A DLinalgOps.cpp670 ValueRange inputs, ValueRange outputs, ArrayAttr indexingMaps, in build() argument
674 build(builder, result, resultTensorTypes, inputs, outputs, indexingMaps, in build()
698 ValueRange inputs, ValueRange outputs, ArrayRef<AffineMap> indexingMaps, in build() argument
703 builder.getAffineMapArrayAttr(indexingMaps), in build()
712 ValueRange outputs, ArrayRef<AffineMap> indexingMaps, in build() argument
716 build(builder, result, TypeRange{}, inputs, outputs, indexingMaps, in build()
722 ValueRange outputs, ArrayRef<AffineMap> indexingMaps, in build() argument
726 build(builder, result, inputs, outputs, indexingMaps, iteratorTypes, in build()
733 ValueRange inputs, ValueRange outputs, ArrayRef<AffineMap> indexingMaps, in build() argument
737 build(builder, result, resultTensorTypes, inputs, outputs, indexingMaps, in build()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToLinalg/
H A DTosaToLinalgNamed.cpp264 SmallVector<AffineMap, 4> indexingMaps; in matchAndRewrite() local
265 indexingMaps.push_back(AffineMap::get( in matchAndRewrite()
315 indexingMaps, getNParallelLoopsAttrs(resultTy.getRank()), in matchAndRewrite()
421 SmallVector<AffineMap, 4> indexingMaps; in matchAndRewrite() local
422 indexingMaps.push_back(AffineMap::get( in matchAndRewrite()
425 indexingMaps.push_back(rewriter.getMultiDimIdentityMap(resultRank)); in matchAndRewrite()
426 indexingMaps.push_back(rewriter.getMultiDimIdentityMap(resultRank)); in matchAndRewrite()
455 biasInitTensor, indexingMaps, in matchAndRewrite()
482 biasInitTensor, indexingMaps, in matchAndRewrite()
590 SmallVector<AffineMap, 4> indexingMaps; in matchAndRewrite() local
[all …]
H A DTosaToLinalg.cpp617 SmallVector<AffineMap, 2> indexingMaps; in elementwiseMatchAndRewriteHelper() local
626 indexingMaps.push_back(rewriter.getMultiDimIdentityMap(rank)); in elementwiseMatchAndRewriteHelper()
648 indexingMaps.push_back(AffineMap::get( in elementwiseMatchAndRewriteHelper()
653 indexingMaps.append(operation->getNumResults(), in elementwiseMatchAndRewriteHelper()
658 loc, opResultTypes, operands, initTensors, indexingMaps, in elementwiseMatchAndRewriteHelper()
1192 SmallVector<AffineMap> indexingMaps = { in matchAndRewrite() local
1212 indexingMaps.push_back(AffineMap::get(/*dimCount=*/rank, in matchAndRewrite()
1216 multiplierArg = indexingMaps.size() - 1; in matchAndRewrite()
1234 indexingMaps.push_back(AffineMap::get(/*dimCount=*/rank, in matchAndRewrite()
1237 shiftArg = indexingMaps.size() - 1; in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Utils/
H A DStructuredOpsUtils.h34 bool isRowMajorMatmul(ArrayAttr indexingMaps);
40 bool isColumnMajorMatmul(ArrayAttr indexingMaps);
46 bool isRowMajorBatchMatmul(ArrayAttr indexingMaps);
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/IR/
H A DLinalgStructuredOps.td169 "ValueRange":$outputs, "ArrayAttr":$indexingMaps,
175 "ValueRange":$outputs, "ArrayRef<AffineMap>":$indexingMaps,
181 "ArrayRef<AffineMap>":$indexingMaps, "ArrayRef<StringRef>":$iteratorTypes,
186 "ValueRange":$outputs, "ArrayRef<AffineMap>":$indexingMaps,
191 "ArrayRef<AffineMap>":$indexingMaps, "ArrayRef<StringRef>":$iteratorTypes,
H A DLinalgInterfaces.td726 auto indexingMaps =
728 return *(indexingMaps.begin() + opOperand->getOperandNumber());
741 auto indexingMaps =
743 return *(indexingMaps.begin() + getNumInputs() +
/llvm-project-15.0.7/mlir/tools/mlir-linalg-ods-gen/
H A Dmlir-linalg-ods-yaml-gen.cpp123 LinalgIndexingMapsConfig indexingMaps; member
170 io.mapRequired("indexing_maps", info.indexingMaps); in mapping()
825 opConfig.structuredOp->indexingMaps.staticIndexingMaps) { in generateNamedGenericOpDefns()
/llvm-project-15.0.7/mlir/lib/Dialect/Vector/IR/
H A DVectorOps.cpp538 ArrayAttr indexingMaps, in build() argument
540 build(builder, result, lhs, rhs, acc, indexingMaps, iteratorTypes, in build()
546 ArrayAttr indexingMaps, in build() argument
815 getDimMap(ArrayRef<AffineMap> indexingMaps, ArrayAttr iteratorTypes, in getDimMap() argument
824 int64_t lhsDim = getResultIndex(indexingMaps[0], targetExpr); in getDimMap()
825 int64_t rhsDim = getResultIndex(indexingMaps[1], targetExpr); in getDimMap()
836 SmallVector<AffineMap, 4> indexingMaps(getIndexingMapsArray()); in getIterationBounds() local
872 SmallVector<AffineMap, 4> indexingMaps(getIndexingMapsArray()); in getContractingDimMap() local
873 return getDimMap(indexingMaps, getIteratorTypes(), in getContractingDimMap()
878 SmallVector<AffineMap, 4> indexingMaps(getIndexingMapsArray()); in getBatchDimMap() local
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Utils/
H A DUtils.cpp449 SmallVector<AffineMap> indexingMaps = { in makeTransposeOp() local
461 b.getAffineMapArrayAttr(indexingMaps), b.getStrArrayAttr(iteratorTypes), in makeTransposeOp()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Vector/IR/
H A DVectorOps.td207 "ArrayAttr":$indexingMaps, "ArrayAttr":$iteratorTypes)>,
212 "ArrayAttr":$indexingMaps, "ArrayAttr":$iteratorTypes,