| /llvm-project-15.0.7/mlir/include/mlir/IR/ |
| H A D | AffineMap.h | 42 class AffineMap { 271 AffineMap 289 AffineMap compose(AffineMap map) const; 384 AffineMap simplifyAffineMap(AffineMap map); 387 AffineMap compressUnusedDims(AffineMap map); 398 AffineMap compressUnusedSymbols(AffineMap map); 406 AffineMap compressSymbols(AffineMap map, 411 AffineMap removeDuplicateExprs(AffineMap map); 447 AffineMap inversePermutation(AffineMap map); 524 AffineMap concatAffineMaps(ArrayRef<AffineMap> maps); [all …]
|
| /llvm-project-15.0.7/mlir/lib/IR/ |
| H A D | AffineMap.cpp | 349 AffineMap 430 AffineMap 439 AffineMap AffineMap::compose(AffineMap map) const { in compose() 543 AffineMap mlir::compressDims(AffineMap map, in compressDims() 562 AffineMap mlir::compressUnusedDims(AffineMap map) { in compressUnusedDims() 601 AffineMap mlir::compressSymbols(AffineMap map, in compressSymbols() 620 AffineMap mlir::compressUnusedSymbols(AffineMap map) { in compressUnusedSymbols() 634 AffineMap mlir::simplifyAffineMap(AffineMap map) { in simplifyAffineMap() 644 AffineMap mlir::removeDuplicateExprs(AffineMap map) { in removeDuplicateExprs() 653 AffineMap mlir::inversePermutation(AffineMap map) { in inversePermutation() [all …]
|
| H A D | Builders.cpp | 258 ArrayAttr Builder::getAffineMapArrayAttr(ArrayRef<AffineMap> values) { in getAffineMapArrayAttr() 297 AffineMap Builder::getEmptyAffineMap() { return AffineMap::get(context); } in getEmptyAffineMap() 299 AffineMap Builder::getConstantAffineMap(int64_t val) { in getConstantAffineMap() 300 return AffineMap::get(/*dimCount=*/0, /*symbolCount=*/0, in getConstantAffineMap() 304 AffineMap Builder::getDimIdentityMap() { in getDimIdentityMap() 308 AffineMap Builder::getMultiDimIdentityMap(unsigned rank) { in getMultiDimIdentityMap() 317 AffineMap Builder::getSymbolIdentityMap() { in getSymbolIdentityMap() 318 return AffineMap::get(/*dimCount=*/0, /*symbolCount=*/1, in getSymbolIdentityMap() 322 AffineMap Builder::getSingleDimShiftAffineMap(int64_t shift) { in getSingleDimShiftAffineMap() 325 return AffineMap::get(/*dimCount=*/1, /*symbolCount=*/0, expr); in getSingleDimShiftAffineMap() [all …]
|
| H A D | BuiltinTypes.cpp | 585 map = AffineMap::getMultiDimIdentityMap(shape.size(), in get() 605 map = AffineMap::getMultiDimIdentityMap(shape.size(), in getChecked() 623 map = AffineMap::getMultiDimIdentityMap(shape.size(), in get() 644 map = AffineMap::getMultiDimIdentityMap(shape.size(), in getChecked() 782 AffineMap m = t.getLayout().getAffineMap(); in getStridesAndOffset() 941 return AffineMap::get(strides.size(), nSymbols, expr); in makeStridedLinearLayoutMap() 950 AffineMap m = t.getLayout().getAffineMap(); in canonicalizeStridedLayout() 995 auto maps = AffineMap::inferFromExprList(exprs); in makeCanonicalStridedLayoutExpr() 1050 AffineMap mlir::getStridedLinearLayoutMap(MemRefType t) { in getStridedLinearLayoutMap() 1054 return AffineMap(); in getStridedLinearLayoutMap() [all …]
|
| /llvm-project-15.0.7/mlir/test/python/ir/ |
| H A D | affine_map.py | 19 am1 = AffineMap.get_empty(ctx) 37 map0 = AffineMap.get(2, 3, []) 41 map1 = AffineMap.get(2, 3, [d1, c2]) 45 map2 = AffineMap.get(0, 0, [c2]) 49 map3 = AffineMap.get(2, 0, [d0, d1]) 53 map4 = AffineMap.get(2, 0, [d1]) 61 assert AffineMap.get(0, 0, []) == AffineMap.get_empty() 67 AffineMap.get(1, 1, [1]) 73 AffineMap.get(1, 1, [None]) 107 map5 = AffineMap.get_identity(5) [all …]
|
| /llvm-project-15.0.7/mlir/unittests/Dialect/Utils/ |
| H A D | StructuredOpsUtilsTest.cpp | 26 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, &context)); in TEST() 27 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, &context)); in TEST() 28 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {m, n}, &context)); in TEST() 39 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, &context)); in TEST() 40 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, &context)); in TEST() 41 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {m, n}, &context)); in TEST() 52 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, &context)); in TEST() 53 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, &context)); in TEST() 54 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {m, n}, &context)); in TEST() 65 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, &context)); in TEST() [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/IR/ |
| H A D | AffineOps.h | 117 AffineMap getSrcMap() { return getSrcMapAttr().getValue(); } in getSrcMap() 156 AffineMap getDstMap() { return getDstMapAttr().getValue(); } in getDstMap() 185 AffineMap getTagMap() { return getTagMapAttr().getValue(); } in getTagMap() 303 AffineMap getTagMap() { return getTagMapAttr().getValue(); } in getTagMap() 367 void canonicalizeMapAndOperands(AffineMap *map, 389 AffineMap map, 405 AffineMap map, 415 AffineMap map, 425 void fullyComposeAffineMapAndOperands(AffineMap *map, 483 AffineMap getMap() { return map; } in getMap() [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/Analysis/ |
| H A D | AffineStructures.h | 27 class AffineMap; variable 151 LogicalResult addDomainFromSliceMaps(ArrayRef<AffineMap> lbMaps, 221 SmallVectorImpl<AffineMap> *lbMaps, 222 SmallVectorImpl<AffineMap> *ubMaps, 229 LogicalResult composeMatchingMap(AffineMap other); 238 std::pair<AffineMap, AffineMap> 259 ArrayRef<AffineMap> lbMaps, 260 ArrayRef<AffineMap> ubMaps, 334 AffineMap computeAlignedMap(AffineMap map, ValueRange operands) const; 609 getFlattenedAffineExprs(AffineMap map, [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SCF/Utils/ |
| H A D | AffineCanonicalizationUtils.cpp | 43 unsigned pos, AffineMap map, in alignAndAddBound() 49 AffineMap alignedMap = in alignAndAddBound() 57 static AffineMap addConstToResults(AffineMap map, int64_t val) { in addConstToResults() 61 return AffineMap::get(map.getNumDims(), map.getNumSymbols(), newResults, in addConstToResults() 104 canonicalizeMinMaxOp(RewriterBase &rewriter, Operation *op, AffineMap map, in canonicalizeMinMaxOp() 119 AffineMap mapLbUb = isMin ? addConstToResults(map, 1) : map; in canonicalizeMinMaxOp() 126 SmallVector<AffineMap> opLb(1), opUb(1); in canonicalizeMinMaxOp() 128 AffineMap sliceBound = isMin ? opUb[0] : opLb[0]; in canonicalizeMinMaxOp() 183 AffineMap newMap = alignedBoundMap; in canonicalizeMinMaxOp() 251 auto map = AffineMap::get( in addLoopRangeConstraints() [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Utils/ |
| H A D | StructuredOpsUtils.cpp | 34 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, context)); in isRowMajorMatmul() 35 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, context)); in isRowMajorMatmul() 36 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {m, n}, context)); in isRowMajorMatmul() 60 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {k, m}, context)); in isColumnMajorMatmul() 61 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {n, k}, context)); in isColumnMajorMatmul() 62 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {n, m}, context)); in isColumnMajorMatmul() 87 auto mapA = AffineMapAttr::get(AffineMap::get(4, 0, {b, m, k}, context)); in isRowMajorBatchMatmul() 88 auto mapB = AffineMapAttr::get(AffineMap::get(4, 0, {b, k, n}, context)); in isRowMajorBatchMatmul() 89 auto mapC = AffineMapAttr::get(AffineMap::get(4, 0, {b, m, n}, context)); in isRowMajorBatchMatmul()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | SplitReduction.cpp | 117 SmallVector<AffineMap> newMaps; in splitReduction() 120 AffineMap map = op.getTiedIndexingMap(operand); in splitReduction() 210 AffineMap inputMap = b.getMultiDimIdentityMap(intermRank); in splitReduction() 222 AffineMap outputMap = AffineMap::get(intermRank, 0, exprs, op.getContext()); in splitReduction() 250 AffineMap map = op.getTiedIndexingMap(&opOperand); in scaleReductionDim() 251 AffineMap idMap = in scaleReductionDim() 254 AffineMap composeMap = shiftedIdMap.replace( in scaleReductionDim() 263 AffineMap map = op.getTiedIndexingMap(&opOperand); in insertParallelDim() 264 AffineMap idMap = in insertParallelDim() 358 SmallVector<AffineMap> newMaps; in splitReductionByScaling() [all …]
|
| H A D | ElementwiseOpFusion.cpp | 40 AffineMap fusedConsumerArgIndexMap) { in getIndexingMapOfProducerOperandsInCoordinatesOfFusedOp() 49 AffineMap invProducerResultIndexMap = in getIndexingMapOfProducerOperandsInCoordinatesOfFusedOp() 96 AffineMap producerResultIndexMap = in areElementwiseOpsFusable() 124 AffineMap newIndexingMap = in areElementwiseOpsFusable() 264 SmallVector<AffineMap> fusedIndexMaps; in fuseElementwiseOpsImpl() 281 AffineMap producerResultIndexMap = in fuseElementwiseOpsImpl() 336 AffineMap consumerResultIndexMap = in fuseElementwiseOpsImpl() 339 AffineMap invProducerResultIndexMap = in fuseElementwiseOpsImpl() 584 static AffineMap 1218 static AffineMap [all …]
|
| H A D | Interchange.cpp | 44 if (!inversePermutation(AffineMap::getPermutationMap(interchangeVector, in interchangeGenericOpPrecondition() 59 AffineMap permutationMap = inversePermutation( in interchangeGenericOp() 60 AffineMap::getPermutationMap(interchangeVector, context)); in interchangeGenericOp() 69 SmallVector<AffineMap> newIndexingMaps; in interchangeGenericOp() 71 AffineMap m = genericOp.getTiedIndexingMap(opOperand); in interchangeGenericOp()
|
| H A D | DropUnitDims.cpp | 100 ArrayRef<AffineMap> indexingMaps, in replaceUnitDims() 124 SmallVector<AffineMap, 4> newIndexingMaps; in replaceUnitDims() 126 for (AffineMap operandMap : indexingMaps) { in replaceUnitDims() 142 newIndexingMaps, [](AffineMap map) -> Attribute { in replaceUnitDims() 174 SmallVector<AffineMap, 4> indexingMaps = genericOp.getIndexingMapsArray(); in matchAndRewrite() 224 AffineMap indexMap; 242 AffineMap indexingMap = genericOp.getTiedIndexingMap(opOperand); in replaceUnitExtents() 277 reassociationMaps.push_back(AffineMapAttr::get(AffineMap::get( in replaceUnitExtents() 295 AffineMap::get(indexingMap.getNumDims(), in replaceUnitExtents() 369 SmallVector<AffineMap> newIndexingMaps; in matchAndRewrite() [all …]
|
| /llvm-project-15.0.7/mlir/lib/CAPI/IR/ |
| H A D | AffineMap.cpp | 38 return wrap(AffineMap::get(unwrap(ctx))); in mlirAffineMapEmptyGet() 43 return wrap(AffineMap::get(dimCount, symbolCount, unwrap(ctx))); in mlirAffineMapZeroResultGet() 51 return wrap(AffineMap::get(dimCount, symbolCount, exprList, unwrap(ctx))); in mlirAffineMapGet() 55 return wrap(AffineMap::getConstantMap(val, unwrap(ctx))); in mlirAffineMapConstantGet() 60 return wrap(AffineMap::getMultiDimIdentityMap(numDims, unwrap(ctx))); in mlirAffineMapMultiDimIdentityGet() 65 return wrap(AffineMap::getMinorIdentityMap(dims, results, unwrap(ctx))); in mlirAffineMapMinorIdentityGet() 70 return wrap(AffineMap::getPermutationMap( in mlirAffineMapPermutationGet() 153 SmallVector<AffineMap> maps; in mlirAffineMapCompressUnusedSymbols()
|
| /llvm-project-15.0.7/mlir/unittests/Dialect/MemRef/ |
| H A D | InferShapeTest.cpp | 28 MemRefType::get({2}, b.getIndexType(), AffineMap::get(1, 0, dim0 + 13)); in TEST() 39 AffineMap::get(2, 0, 1000 * dim0 + dim1)); in TEST() 43 MemRefType::get({2}, b.getIndexType(), AffineMap::get(1, 0, dim0 + 2003)); in TEST() 53 AffineMap::get(2, 0, 1000 * dim0 + dim1)); in TEST() 58 AffineMap::get(0, 0, b.getAffineConstantExpr(2003))); in TEST()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/ |
| H A D | TensorInferTypeOpInterfaceImpl.cpp | 22 getExpandedDimToCollapsedDimMap(ArrayRef<AffineMap> reassociation) { in getExpandedDimToCollapsedDimMap() 43 ArrayRef<AffineMap> reassociationMap) { in getCollapsedOutputDimFromInputShape() 44 AffineMap map = reassociationMap[dimIndex]; in getCollapsedOutputDimFromInputShape() 56 AffineMap::get(0, endPos - startPos + 1, expr), in getCollapsedOutputDimFromInputShape() 64 ArrayRef<int64_t> dstStaticShape, ArrayRef<AffineMap> reassociation) { in getCollapsedOutputShapeFromInputShape() 76 ArrayRef<int64_t> dstStaticShape, ArrayRef<AffineMap> reassociation, in getExpandedOutputDimFromInputShape() 105 AffineMap::get( in getExpandedOutputDimFromInputShape() 114 ArrayRef<int64_t> dstStaticShape, ArrayRef<AffineMap> reassociation) { in getExpandedOutputShapeFromInputShape() 128 ArrayRef<AffineMap> reassocation) { in getReshapeOutputShapeFromInputShape() 197 b, loc, AffineMap::get(1, numSymbols, expr), mapOperands)[0]); in reifyResultShapes()
|
| /llvm-project-15.0.7/mlir/python/mlir/dialects/linalg/opdsl/lang/ |
| H A D | config.py | 23 def _serialize_affine_map(affine_map: _ir.AffineMap) -> str: argument 47 shape_map: Optional[_ir.AffineMap] = None, argument 48 index_attr_map: Optional[_ir.AffineMap] = None): argument 295 def indexing_maps(self) -> Sequence[_ir.AffineMap]: 323 affine_map = _ir.AffineMap.get( 339 self.operands[operand_def].indexing_map = _ir.AffineMap.get( 353 indexing_map = _ir.AffineMap.get( 361 def _get_scalar_map(self) -> _ir.AffineMap: 364 return _ir.AffineMap.get( 370 affine_map: _ir.AffineMap, argument [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/IR/ |
| H A D | AffineOps.cpp | 92 AffineMap map = op.getAffineMap(); in remainsLegalAfterInline() 524 AffineMap affineMap = getMap(); in verify() 779 AffineMap normalizedMap = map; in makeComposedAffineApply() 893 AffineMap map = AffineMap::get(numDims, numSym, expr); in applyMapToValues() 1087 AffineMap oldMap = map; in matchAndRewrite() 1693 AffineMap map = boundMap.getValue(); in printBound() 1786 AffineMap boundMap = in foldLoopBounds() 2609 AffineMap map = mapAttr.getValue(); in verifyMemoryOpIndexing() 3196 AffineMap map = mapAttr.getValue(); in verify() 3290 for (AffineMap m : maps) { in build() [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/ |
| H A D | Utils.h | 221 AffineMap indexRemap = AffineMap(), ArrayRef<Value> extraOperands = {}, 233 AffineMap indexRemap = AffineMap(), 304 AffineMap affineMap,
|
| /llvm-project-15.0.7/mlir/lib/Conversion/VectorToGPU/ |
| H A D | NvGpuSupport.cpp | 154 static AffineMap getRegisterIndexToTileOffsetMap(int64_t lineSize, in getRegisterIndexToTileOffsetMap() 165 return AffineMap::get( in getRegisterIndexToTileOffsetMap() 172 FailureOr<AffineMap> 192 AffineMap registerIndexToTileCoord = getRegisterIndexToTileOffsetMap( in getLaneIdAndValueIdToOperandCoord() 197 auto makeMap = [&](ArrayRef<AffineExpr> dimExprs) -> AffineMap { in getLaneIdAndValueIdToOperandCoord() 198 return AffineMap::get(2, 0, dimExprs, builder.getContext()); in getLaneIdAndValueIdToOperandCoord() 237 FailureOr<AffineMap> 248 auto makeMap = [&](ArrayRef<AffineExpr> dimExprs) -> AffineMap { in getLaneIdToLdMatrixMatrixCoord() 249 return AffineMap::get(1, 0, dimExprs, builder.getContext()); in getLaneIdToLdMatrixMatrixCoord() 286 auto infer = [](MapList m) { return AffineMap::inferFromExprList(m); }; in matchAndRewrite() [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/ |
| H A D | VectorTransferPermutationMapRewritePatterns.cpp | 65 AffineMap map = op.getPermutationMap(); in matchAndRewrite() 70 AffineMap permutationMap = in matchAndRewrite() 78 AffineMap newMap = permutationMap.compose(map); in matchAndRewrite() 154 AffineMap map = op.getPermutationMap(); in matchAndRewrite() 185 auto newMap = AffineMap::getMinorIdentityMap( in matchAndRewrite() 212 AffineMap map = op.getPermutationMap(); in matchAndRewrite() 226 AffineMap newMap = AffineMap::get( in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/Analysis/ |
| H A D | AffineStructures.cpp | 215 AffineMap lb = AffineMap::get(/*dimCount=*/3 * nIvs, /*symbolCount=*/0, in getHyperrectangular() 220 AffineMap ub = AffineMap::get(/*dimCount=*/3 * nIvs, /*symbolCount=*/0, in getHyperrectangular() 652 AffineMap lbMap = lbMaps[i]; in addDomainFromSliceMaps() 653 AffineMap ubMap = ubMaps[i]; in addDomainFromSliceMaps() 886 std::pair<AffineMap, AffineMap> 977 SmallVectorImpl<AffineMap> *lbMaps, SmallVectorImpl<AffineMap> *ubMaps, in getSliceBounds() 1229 AffineMap 1253 AffineMap alignedMap = in computeAlignedMap() 1297 AffineMap lbMap = lbMaps[i]; in addSliceBounds() 1298 AffineMap ubMap = ubMaps[i]; in addSliceBounds() [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Utils/ |
| H A D | AffineCanonicalizationUtils.h | 20 class AffineMap; variable 51 AffineMap map, ValueRange operands, 68 AffineMap map, ValueRange operands,
|
| /llvm-project-15.0.7/mlir/lib/AsmParser/ |
| H A D | AffineParser.cpp | 54 AffineMap &result); 55 ParseResult parseAffineMapOrIntegerSetInline(AffineMap &map, IntegerSet &set); 58 ParseResult parseAffineMapOfSSAIds(AffineMap &map, 522 ParseResult AffineParser::parseAffineMapOrIntegerSetInline(AffineMap &map, in parseAffineMapOrIntegerSetInline() 540 AffineParser::parseAffineMapOfSSAIds(AffineMap &map, in parseAffineMapOfSSAIds() 577 AffineMap &result) { in parseAffineMapRange() 595 result = AffineMap::get(numDims, numSymbols, exprs, getContext()); in parseAffineMapRange() 695 ParseResult Parser::parseAffineMapOrIntegerSetReference(AffineMap &map, in parseAffineMapOrIntegerSetReference() 699 ParseResult Parser::parseAffineMapReference(AffineMap &map) { in parseAffineMapReference() 710 AffineMap map; in parseIntegerSetReference() [all …]
|