Home
last modified time | relevance | path

Searched refs:AffineMap (Results 1 – 25 of 165) sorted by relevance

1234567

/llvm-project-15.0.7/mlir/include/mlir/IR/
H A DAffineMap.h42 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 DAffineMap.cpp349 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 DBuilders.cpp258 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 DBuiltinTypes.cpp585 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 Daffine_map.py19 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 DStructuredOpsUtilsTest.cpp26 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 DAffineOps.h117 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 DAffineStructures.h27 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 DAffineCanonicalizationUtils.cpp43 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 DStructuredOpsUtils.cpp34 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 DSplitReduction.cpp117 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 DElementwiseOpFusion.cpp40 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 DInterchange.cpp44 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 DDropUnitDims.cpp100 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 DAffineMap.cpp38 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 DInferShapeTest.cpp28 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 DTensorInferTypeOpInterfaceImpl.cpp22 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 Dconfig.py23 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 DAffineOps.cpp92 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 DUtils.h221 AffineMap indexRemap = AffineMap(), ArrayRef<Value> extraOperands = {},
233 AffineMap indexRemap = AffineMap(),
304 AffineMap affineMap,
/llvm-project-15.0.7/mlir/lib/Conversion/VectorToGPU/
H A DNvGpuSupport.cpp154 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 DVectorTransferPermutationMapRewritePatterns.cpp65 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 DAffineStructures.cpp215 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 DAffineCanonicalizationUtils.h20 class AffineMap; variable
51 AffineMap map, ValueRange operands,
68 AffineMap map, ValueRange operands,
/llvm-project-15.0.7/mlir/lib/AsmParser/
H A DAffineParser.cpp54 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 …]

1234567