| /llvm-project-15.0.7/mlir/lib/Dialect/Utils/ |
| H A D | StructuredOpsUtils.cpp | 15 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 D | DropUnitDims.cpp | 100 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 D | Generalization.cpp | 49 SmallVector<AffineMap> indexingMaps = linalgOp.getIndexingMapsArray(); in generalizeNamedOp() local 60 outputOperands, indexingMaps, iterators); in generalizeNamedOp()
|
| H A D | DecomposeLinalgOps.cpp | 227 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 D | ElementwiseToLinalg.cpp | 87 SmallVector<AffineMap, 3> indexingMaps( in matchAndRewrite() local 97 /*indexingMaps=*/indexingMaps, in matchAndRewrite()
|
| H A D | SplitReduction.cpp | 415 SmallVector<AffineMap> indexingMaps = { in splitReductionByScaling() local 428 indexingMaps, in splitReductionByScaling()
|
| H A D | ElementwiseOpFusion.cpp | 1354 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 D | LinalgToSPIRV.cpp | 90 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 D | LinalgInterfaces.cpp | 32 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 D | LinalgOps.cpp | 670 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 D | TosaToLinalgNamed.cpp | 264 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 D | TosaToLinalg.cpp | 617 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 D | StructuredOpsUtils.h | 34 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 D | LinalgStructuredOps.td | 169 "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 D | LinalgInterfaces.td | 726 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 D | mlir-linalg-ods-yaml-gen.cpp | 123 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 D | VectorOps.cpp | 538 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 D | Utils.cpp | 449 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 D | VectorOps.td | 207 "ArrayAttr":$indexingMaps, "ArrayAttr":$iteratorTypes)>, 212 "ArrayAttr":$indexingMaps, "ArrayAttr":$iteratorTypes,
|