Home
last modified time | relevance | path

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

12345

/external/llvm-project/mlir/include/mlir/IR/
DAffineMap.h37 class AffineMap {
41 constexpr AffineMap() : map(nullptr) {} in AffineMap() function
42 explicit AffineMap(ImplType *map) : map(map) {} in AffineMap() function
45 static AffineMap get(MLIRContext *context);
49 static AffineMap get(unsigned dimCount, unsigned symbolCount,
54 static AffineMap get(unsigned dimCount, unsigned symbolCount,
59 static AffineMap get(unsigned dimCount, unsigned symbolCount,
63 static AffineMap getConstantMap(int64_t val, MLIRContext *context);
66 static AffineMap getMultiDimIdentityMap(unsigned numDims,
71 static AffineMap getMinorIdentityMap(unsigned dims, unsigned results,
[all …]
DBuilders.h43 class AffineMap; variable
135 ArrayAttr getAffineMapArrayAttr(ArrayRef<AffineMap> values);
152 AffineMap getEmptyAffineMap();
155 AffineMap getConstantAffineMap(int64_t val);
157 AffineMap getDimIdentityMap();
159 AffineMap getMultiDimIdentityMap(unsigned rank);
161 AffineMap getSymbolIdentityMap();
165 AffineMap getSingleDimShiftAffineMap(int64_t shift);
171 AffineMap getShiftedAffineMap(AffineMap map, int64_t shift);
/external/llvm-project/mlir/lib/IR/
DAffineMap.cpp94 AffineMap AffineMap::getConstantMap(int64_t val, MLIRContext *context) { in getConstantMap()
101 AffineMap AffineMap::getMinorIdentityMap(unsigned dims, unsigned results, in getMinorIdentityMap()
104 auto id = AffineMap::getMultiDimIdentityMap(dims, context); in getMinorIdentityMap()
105 return AffineMap::get(dims, 0, id.getResults().take_back(results), context); in getMinorIdentityMap()
108 bool AffineMap::isMinorIdentity() const { in isMinorIdentity()
114 AffineMap AffineMap::getPermutationMap(ArrayRef<unsigned> permutation, in getPermutationMap()
122 auto permutationMap = AffineMap::get(*m + 1, 0, affExprs, context); in getPermutationMap()
143 static SmallVector<AffineMap, 4>
150 SmallVector<AffineMap, 4> maps; in inferFromExprList()
153 maps.push_back(AffineMap::get(/*dimCount=*/maxDim + 1, in inferFromExprList()
[all …]
DBuilders.cpp270 ArrayAttr Builder::getAffineMapArrayAttr(ArrayRef<AffineMap> values) { in getAffineMapArrayAttr()
272 values, [](AffineMap v) -> Attribute { return AffineMapAttr::get(v); })); in getAffineMapArrayAttr()
309 AffineMap Builder::getEmptyAffineMap() { return AffineMap::get(context); } in getEmptyAffineMap()
311 AffineMap Builder::getConstantAffineMap(int64_t val) { in getConstantAffineMap()
312 return AffineMap::get(/*dimCount=*/0, /*symbolCount=*/0, in getConstantAffineMap()
316 AffineMap Builder::getDimIdentityMap() { in getDimIdentityMap()
317 return AffineMap::get(/*dimCount=*/1, /*symbolCount=*/0, getAffineDimExpr(0)); in getDimIdentityMap()
320 AffineMap Builder::getMultiDimIdentityMap(unsigned rank) { in getMultiDimIdentityMap()
325 return AffineMap::get(/*dimCount=*/rank, /*symbolCount=*/0, dimExprs, in getMultiDimIdentityMap()
329 AffineMap Builder::getSymbolIdentityMap() { in getSymbolIdentityMap()
[all …]
DMLIRContext.cpp151 struct AffineMapKeyInfo : DenseMapInfo<AffineMap> {
155 using DenseMapInfo<AffineMap>::isEqual;
157 static unsigned getHashValue(const AffineMap &key) { in getHashValue()
168 static bool isEqual(const KeyTy &lhs, AffineMap rhs) { in isEqual()
284 using AffineMapSet = DenseSet<AffineMap, AffineMapKeyInfo>;
855 AffineMap AffineMap::getImpl(unsigned dimCount, unsigned symbolCount, in getImpl()
872 return AffineMap(res); in getImpl()
876 AffineMap AffineMap::get(MLIRContext *context) { in get()
880 AffineMap AffineMap::get(unsigned dimCount, unsigned symbolCount, in get()
885 AffineMap AffineMap::get(unsigned dimCount, unsigned symbolCount, in get()
[all …]
/external/llvm-project/mlir/include/mlir/Dialect/Affine/IR/
DAffineOps.h90 AffineMap srcMap, ValueRange srcIndices, Value destMemRef,
91 AffineMap dstMap, ValueRange destIndices, Value tagMemRef,
92 AffineMap tagMap, ValueRange tagIndices, Value numElements,
108 AffineMap getSrcMap() { return getSrcMapAttr().getValue(); } in getSrcMap()
147 AffineMap getDstMap() { return getDstMapAttr().getValue(); } in getDstMap()
176 AffineMap getTagMap() { return getTagMapAttr().getValue(); } in getTagMap()
279 AffineMap tagMap, ValueRange tagIndices, Value numElements);
290 AffineMap getTagMap() { return getTagMapAttr().getValue(); } in getTagMap()
351 void canonicalizeMapAndOperands(AffineMap *map,
362 AffineApplyOp makeComposedAffineApply(OpBuilder &b, Location loc, AffineMap map,
[all …]
DAffineValueMap.h39 AffineValueMap(AffineMap map, ValueRange operands, ValueRange results = {});
44 void reset(AffineMap map, ValueRange operands, ValueRange results = {});
75 AffineMap getAffineMap() const;
/external/llvm-project/mlir/test/mlir-linalg-ods-gen/
Dtest-linalg-ods-gen.tc14 // IMPL: AffineMap::get(2, 0, {d0, d1}, context),
15 // IMPL-NEXT: AffineMap::get(2, 0, {d1}, context),
16 // IMPL-NEXT: AffineMap::get(2, 0, {d0}, context) });
39 // IMPL: AffineMap::get(3, 0, {d0, d2}, context),
40 // IMPL-NEXT: AffineMap::get(3, 0, {d2, d1}, context),
41 // IMPL-NEXT: AffineMap::get(3, 0, {d0, d1}, context) });
64 // IMPL: AffineMap::get(4, 0, {d0, d1, d3}, context),
65 // IMPL-NEXT: AffineMap::get(4, 0, {d3, d2}, context),
66 // IMPL-NEXT: AffineMap::get(4, 0, {d0, d1, d2}, context) });
/external/llvm-project/mlir/lib/Dialect/Linalg/Transforms/
DFusionOnTensors.cpp43 AffineMap consumerIndexMap = consumer.getIndexingMap(consumerIdx); in areTensorOpsFusable()
49 AffineMap producerResultIndexMap = producer.getOutputIndexingMap(0); in areTensorOpsFusable()
57 LinalgOp producer, AffineMap fusedConsumerArgIndexMap, in getIndexingMapOfProducerOperandsInFusedOp()
65 AffineMap producerResultIndexMap = producer.getOutputIndexingMap(0); in getIndexingMapOfProducerOperandsInFusedOp()
69 AffineMap invProducerResultIndexMap = in getIndexingMapOfProducerOperandsInFusedOp()
75 AffineMap argMap = producer.getInputIndexingMap(argNum); in getIndexingMapOfProducerOperandsInFusedOp()
79 AffineMap t1 = argMap.compose(invProducerResultIndexMap); in getIndexingMapOfProducerOperandsInFusedOp()
83 AffineMap indexingMap = t1.compose(fusedConsumerArgIndexMap); in getIndexingMapOfProducerOperandsInFusedOp()
93 AffineMap consumerToProducerLoopsMap, in generateFusedTensorOpRegion()
249 AffineMap consumerResultIndexMap = consumer.getInputIndexingMap(consumerIdx); in fuseTensorOpsImpl()
[all …]
DDropUnitDims.cpp100 ArrayRef<AffineMap> indexingMaps, in replaceUnitDims()
124 SmallVector<AffineMap, 4> newIndexingMaps; in replaceUnitDims()
126 for (AffineMap operandMap : indexingMaps) { in replaceUnitDims()
143 [](AffineMap map) -> Attribute { return AffineMapAttr::get(map); })), in replaceUnitDims()
181 SmallVector<AffineMap, 4> indexingMaps = op.getIndexingMaps(); in matchAndRewrite()
188 AffineMap invertedMap = inversePermutation(concatAffineMaps(indexingMaps)); in matchAndRewrite()
232 AffineMap indexMap;
247 static UnitExtentReplacementInfo replaceUnitExtents(AffineMap indexMap, in replaceUnitExtents()
276 reassociationMaps.push_back(AffineMapAttr::get(AffineMap::get( in replaceUnitExtents()
283 AffineMap::get(indexMap.getNumDims(), indexMap.getNumSymbols(), in replaceUnitExtents()
[all …]
DFusion.cpp60 static void inferShapeComponents(AffineMap permutationMap, in inferShapeComponents()
99 AffineMap map = op.getIndexingMap(shapedOperandIdx); in cloneWithLoopRanges()
263 AffineMap producerMap = producer.getOutputIndexingMap(producerIdx); in fuse()
532 static AffineMap pruneReductionDimsFromMap(ArrayRef<Attribute> iteratorTypes, in pruneReductionDimsFromMap()
533 AffineMap map) { in pruneReductionDimsFromMap()
548 static Optional<AffineMap> getConsumerLoopToProducerLoopMap( in getConsumerLoopToProducerLoopMap()
551 AffineMap producerIndexingMap = in getConsumerLoopToProducerLoopMap()
554 AffineMap consumerIndexingMap = in getConsumerLoopToProducerLoopMap()
557 AffineMap prunedProducerIndexingMap = pruneReductionDimsFromMap( in getConsumerLoopToProducerLoopMap()
577 AffineMap invProducerIndexMap = inversePermutation(prunedProducerIndexingMap); in getConsumerLoopToProducerLoopMap()
[all …]
DInterchange.cpp51 AffineMap::getPermutationMap(interchangeVector, op->getContext()))) in interchangeGenericLinalgOpPrecondition()
63 AffineMap::getPermutationMap(interchangeVector, context)); in interchange()
68 AffineMap m = indexingMaps[i].cast<AffineMapAttr>().getValue(); in interchange()
/external/llvm-project/mlir/lib/Dialect/Affine/Transforms/
DAffineLoopNormalize.cpp24 AffineMap lbMap = op.lowerBoundsMap(); in normalizeAffineParallel()
57 auto map = AffineMap::get(/*dimCount=*/nDims + 1, in normalizeAffineParallel()
74 auto newLowerMap = AffineMap::get( in normalizeAffineParallel()
77 auto newUpperMap = AffineMap::get(ranges.getNumDims(), ranges.getNumSymbols(), in normalizeAffineParallel()
113 AffineMap origLbMap = lb.getMap(); in normalizeAffineFor()
114 AffineMap origUbMap = ub.getMap(); in normalizeAffineFor()
151 AffineMap newUbMap = in normalizeAffineFor()
152 AffineMap::get(origLbMap.getNumDims() + origUbMap.getNumDims(), in normalizeAffineFor()
175 AffineMap ivMap = AffineMap::get(origLbMap.getNumDims() + 1, in normalizeAffineFor()
/external/llvm-project/mlir/lib/CAPI/IR/
DAffineMap.cpp37 return wrap(AffineMap::get(unwrap(ctx))); in mlirAffineMapEmptyGet()
42 return wrap(AffineMap::get(dimCount, symbolCount, unwrap(ctx))); in mlirAffineMapGet()
46 return wrap(AffineMap::getConstantMap(val, unwrap(ctx))); in mlirAffineMapConstantGet()
51 return wrap(AffineMap::getMultiDimIdentityMap(numDims, unwrap(ctx))); in mlirAffineMapMultiDimIdentityGet()
56 return wrap(AffineMap::getMinorIdentityMap(dims, results, unwrap(ctx))); in mlirAffineMapMinorIdentityGet()
61 return wrap(AffineMap::getPermutationMap( in mlirAffineMapPermutationGet()
/external/llvm-project/mlir/include/mlir/Transforms/
DUtils.h71 AffineMap indexRemap = AffineMap(), ArrayRef<Value> extraOperands = {},
83 AffineMap indexRemap = AffineMap(),
/external/llvm-project/mlir/include/mlir/Dialect/Utils/
DStructuredOpsUtils.h31 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, context)); in isRowMajorMatmul()
32 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, context)); in isRowMajorMatmul()
33 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {m, n}, context)); in isRowMajorMatmul()
42 auto mapA = AffineMapAttr::get(AffineMap::get(3, 0, {k, n}, context)); in isColumnMajorMatmul()
43 auto mapB = AffineMapAttr::get(AffineMap::get(3, 0, {m, k}, context)); in isColumnMajorMatmul()
44 auto mapC = AffineMapAttr::get(AffineMap::get(3, 0, {n, m}, context)); in isColumnMajorMatmul()
/external/llvm-project/mlir/include/mlir/Dialect/GPU/
DParallelLoopMapper.h25 class AffineMap; variable
52 AffineMap map,
53 AffineMap bound);
/external/llvm-project/mlir/lib/Parser/
DAffineParser.cpp53 AffineMap parseAffineMapRange(unsigned numDims, unsigned numSymbols);
54 ParseResult parseAffineMapOrIntegerSetInline(AffineMap &map, IntegerSet &set);
56 ParseResult parseAffineMapOfSSAIds(AffineMap &map,
513 ParseResult AffineParser::parseAffineMapOrIntegerSetInline(AffineMap &map, in parseAffineMapOrIntegerSetInline()
544 AffineParser::parseAffineMapOfSSAIds(AffineMap &map, in parseAffineMapOfSSAIds()
577 map = AffineMap::get(numDimOperands, dimsAndSymbols.size() - numDimOperands, in parseAffineMapOfSSAIds()
588 AffineMap AffineParser::parseAffineMapRange(unsigned numDims, in parseAffineMapRange()
605 return AffineMap(); in parseAffineMapRange()
608 return AffineMap::get(numDims, numSymbols, exprs, getContext()); in parseAffineMapRange()
695 ParseResult Parser::parseAffineMapOrIntegerSetReference(AffineMap &map, in parseAffineMapOrIntegerSetReference()
[all …]
/external/llvm-project/mlir/include/mlir/Analysis/
DAffineStructures.h25 class AffineMap; variable
243 LogicalResult addLowerOrUpperBound(unsigned pos, AffineMap boundMap,
269 SmallVectorImpl<AffineMap> *lbMaps,
270 SmallVectorImpl<AffineMap> *ubMaps);
279 ArrayRef<AffineMap> lbMaps,
280 ArrayRef<AffineMap> ubMaps,
356 LogicalResult composeMatchingMap(AffineMap other);
528 std::pair<AffineMap, AffineMap>
693 getFlattenedAffineExprs(AffineMap map,
DUtils.h66 SmallVector<AffineMap, 4> lbs;
68 SmallVector<AffineMap, 4> ubs;
244 void getLowerAndUpperBound(unsigned pos, AffineMap &lbMap,
245 AffineMap &ubMap) const;
/external/llvm-project/mlir/lib/Dialect/Affine/IR/
DAffineOps.cpp461 AffineMap AffineApplyNormalizer::renumber(const AffineApplyNormalizer &other) { in renumber()
508 static AffineMap promoteComposedSymbolsAsDims(AffineMap map, in promoteComposedSymbolsAsDims()
540 AffineMap newMap = map.replaceDimsAndSymbols( in promoteComposedSymbolsAsDims()
577 AffineApplyNormalizer::AffineApplyNormalizer(AffineMap map, in AffineApplyNormalizer()
633 AffineMap affineApplyMap = affineApply.getAffineMap(); in AffineApplyNormalizer()
675 AffineMap::get(numDims, numSymbols, auxiliaryExprs, map.getContext()); in AffineApplyNormalizer()
690 void AffineApplyNormalizer::normalize(AffineMap *otherMap, in normalize()
704 static void composeAffineMapAndOperands(AffineMap *map, in composeAffineMapAndOperands()
715 void mlir::fullyComposeAffineMapAndOperands(AffineMap *map, in fullyComposeAffineMapAndOperands()
725 AffineMap map, in makeComposedAffineApply()
[all …]
DAffineValueMap.cpp14 AffineValueMap::AffineValueMap(AffineMap map, ValueRange operands, in AffineValueMap()
19 void AffineValueMap::reset(AffineMap map, ValueRange operands, in reset()
55 AffineMap::get(normalizer.getNumDims(), normalizer.getNumSymbols(), in difference()
101 AffineMap AffineValueMap::getAffineMap() const { return map.getAffineMap(); } in getAffineMap()
/external/llvm-project/mlir/include/mlir/Dialect/Linalg/IR/
DLinalgOps.h48 AffineMap map, ValueRange values);
102 AffineMap extractOrIdentityMap(Optional<AffineMap> maybeMap, unsigned rank,
/external/llvm-project/mlir/include/mlir/Dialect/Vector/
DVectorUtils.h21 class AffineMap; variable
153 AffineMap
160 AffineMap getTransferMinorIdentityMap(MemRefType memRefType,
/external/llvm-project/mlir/lib/Dialect/Linalg/IR/
DLinalgOps.cpp36 AffineMap map, in createFoldedComposedAffineApply()
45 AffineMap map, in applyMapToValues()
54 AffineMap map = AffineMap::get(numDims, numSym, expr); in applyMapToValues()
72 AffineMap map = getLoopsToShapesMap(); in createLoopRanges()
156 ArrayRef<AffineMap> indexingMaps, ArrayRef<StringRef> iteratorTypes, in build()
181 ValueRange outputBuffers, ArrayRef<AffineMap> indexingMaps, in build()
190 ValueRange outputBuffers, ArrayRef<AffineMap> indexingMaps, in build()
201 ArrayRef<AffineMap> indexingMaps, ArrayRef<StringRef> iteratorTypes, in build()
211 ArrayRef<AffineMap> indexingMaps, ArrayRef<StringRef> iteratorTypes, in build()
240 ValueRange outputBuffers, ArrayRef<AffineMap> indexingMaps, in build()
[all …]

12345