|
MLIR 22.0.0git
|
#include "mlir-c/AffineMap.h"#include "mlir-c/IR.h"#include "mlir/CAPI/AffineExpr.h"#include "mlir/CAPI/AffineMap.h"#include "mlir/CAPI/IR.h"#include "mlir/CAPI/Utils.h"#include "mlir/IR/AffineMap.h"Go to the source code of this file.
Functions | |
| MlirContext | mlirAffineMapGetContext (MlirAffineMap affineMap) |
| Gets the context that the given affine map was created with. | |
| bool | mlirAffineMapEqual (MlirAffineMap a1, MlirAffineMap a2) |
| Checks if two affine maps are equal. | |
| void | mlirAffineMapPrint (MlirAffineMap affineMap, MlirStringCallback callback, void *userData) |
| void | mlirAffineMapDump (MlirAffineMap affineMap) |
| MlirAffineMap | mlirAffineMapEmptyGet (MlirContext ctx) |
| MlirAffineMap | mlirAffineMapZeroResultGet (MlirContext ctx, intptr_t dimCount, intptr_t symbolCount) |
| MlirAffineMap | mlirAffineMapGet (MlirContext ctx, intptr_t dimCount, intptr_t symbolCount, intptr_t nAffineExprs, MlirAffineExpr *affineExprs) |
| MlirAffineMap | mlirAffineMapConstantGet (MlirContext ctx, int64_t val) |
| MlirAffineMap | mlirAffineMapMultiDimIdentityGet (MlirContext ctx, intptr_t numDims) |
| MlirAffineMap | mlirAffineMapMinorIdentityGet (MlirContext ctx, intptr_t dims, intptr_t results) |
| MlirAffineMap | mlirAffineMapPermutationGet (MlirContext ctx, intptr_t size, unsigned *permutation) |
| bool | mlirAffineMapIsIdentity (MlirAffineMap affineMap) |
| bool | mlirAffineMapIsMinorIdentity (MlirAffineMap affineMap) |
| bool | mlirAffineMapIsEmpty (MlirAffineMap affineMap) |
| bool | mlirAffineMapIsSingleConstant (MlirAffineMap affineMap) |
| int64_t | mlirAffineMapGetSingleConstantResult (MlirAffineMap affineMap) |
| intptr_t | mlirAffineMapGetNumDims (MlirAffineMap affineMap) |
| intptr_t | mlirAffineMapGetNumSymbols (MlirAffineMap affineMap) |
| intptr_t | mlirAffineMapGetNumResults (MlirAffineMap affineMap) |
| MlirAffineExpr | mlirAffineMapGetResult (MlirAffineMap affineMap, intptr_t pos) |
| intptr_t | mlirAffineMapGetNumInputs (MlirAffineMap affineMap) |
| bool | mlirAffineMapIsProjectedPermutation (MlirAffineMap affineMap) |
| bool | mlirAffineMapIsPermutation (MlirAffineMap affineMap) |
| MlirAffineMap | mlirAffineMapGetSubMap (MlirAffineMap affineMap, intptr_t size, intptr_t *resultPos) |
| MlirAffineMap | mlirAffineMapGetMajorSubMap (MlirAffineMap affineMap, intptr_t numResults) |
| MlirAffineMap | mlirAffineMapGetMinorSubMap (MlirAffineMap affineMap, intptr_t numResults) |
| MlirAffineMap | mlirAffineMapReplace (MlirAffineMap affineMap, MlirAffineExpr expression, MlirAffineExpr replacement, intptr_t numResultDims, intptr_t numResultSyms) |
| void | mlirAffineMapCompressUnusedSymbols (MlirAffineMap *affineMaps, intptr_t size, void *result, void(*populateResult)(void *res, intptr_t idx, MlirAffineMap m)) |
| Prints an affine map by sending chunks of the string representation and forwarding userData to callback`. | |
| void mlirAffineMapCompressUnusedSymbols | ( | MlirAffineMap * | affineMaps, |
| intptr_t | size, | ||
| void * | result, | ||
| void(* | populateResult )(void *res, intptr_t idx, MlirAffineMap m) ) |
Prints an affine map by sending chunks of the string representation and forwarding userData to callback`.
Note that the callback may be called / several times with consecutive chunks of the string. MLIR_CAPI_EXPORTED void mlirAffineMapPrint(MlirAffineMap affineMap, MlirStringCallback callback, void *userData);
/ Prints the affine map to the standard error stream. MLIR_CAPI_EXPORTED void mlirAffineMapDump(MlirAffineMap affineMap);
/ Creates a zero result affine map with no dimensions or symbols in the / context. The affine map is owned by the context. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapEmptyGet(MlirContext ctx);
/ Creates a zero result affine map of the given dimensions and symbols in the / context. The affine map is owned by the context. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapZeroResultGet( MlirContext ctx, intptr_t dimCount, intptr_t symbolCount);
/ Creates an affine map with results defined by the given list of affine / expressions. The map resulting map also has the requested number of input / dimensions and symbols, regardless of them being used in the results.
MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGet(MlirContext ctx, intptr_t dimCount, intptr_t symbolCount, intptr_t nAffineExprs, MlirAffineExpr *affineExprs);
/ Creates a single constant result affine map in the context. The affine map / is owned by the context. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapConstantGet(MlirContext ctx, int64_t val);
/ Creates an affine map with 'numDims' identity in the context. The affine map / is owned by the context. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapMultiDimIdentityGet(MlirContext ctx, intptr_t numDims);
/ Creates an identity affine map on the most minor dimensions in the context. / The affine map is owned by the context. The function asserts that the number / of dimensions is greater or equal to the number of results. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapMinorIdentityGet(MlirContext ctx, intptr_t dims, intptr_t results);
/ Creates an affine map with a permutation expression and its size in the / context. The permutation expression is a non-empty vector of integers. / The elements of the permutation vector must be continuous from 0 and cannot / be repeated (i.e. [1,2,0] is a valid permutation. [2,0] or [1,1,2] is / an invalid permutation.) The affine map is owned by the context. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapPermutationGet( MlirContext ctx, intptr_t size, unsigned *permutation);
/ Checks whether the given affine map is an identity affine map. The function / asserts that the number of dimensions is greater or equal to the number of / results. MLIR_CAPI_EXPORTED bool mlirAffineMapIsIdentity(MlirAffineMap affineMap);
/ Checks whether the given affine map is a minor identity affine map. MLIR_CAPI_EXPORTED bool mlirAffineMapIsMinorIdentity(MlirAffineMap affineMap);
/ Checks whether the given affine map is an empty affine map. MLIR_CAPI_EXPORTED bool mlirAffineMapIsEmpty(MlirAffineMap affineMap);
/ Checks whether the given affine map is a single result constant affine / map. MLIR_CAPI_EXPORTED bool mlirAffineMapIsSingleConstant(MlirAffineMap affineMap);
/ Returns the constant result of the given affine map. The function asserts / that the map has a single constant result. MLIR_CAPI_EXPORTED int64_t mlirAffineMapGetSingleConstantResult(MlirAffineMap affineMap);
/ Returns the number of dimensions of the given affine map. MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumDims(MlirAffineMap affineMap);
/ Returns the number of symbols of the given affine map. MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumSymbols(MlirAffineMap affineMap);
/ Returns the number of results of the given affine map. MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumResults(MlirAffineMap affineMap);
/ Returns the result at the given position. MLIR_CAPI_EXPORTED MlirAffineExpr mlirAffineMapGetResult(MlirAffineMap affineMap, intptr_t pos);
/ Returns the number of inputs (dimensions + symbols) of the given affine / map. MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumInputs(MlirAffineMap affineMap);
/ Checks whether the given affine map represents a subset of a symbol-less / permutation map. MLIR_CAPI_EXPORTED bool mlirAffineMapIsProjectedPermutation(MlirAffineMap affineMap);
/ Checks whether the given affine map represents a symbol-less permutation / map. MLIR_CAPI_EXPORTED bool mlirAffineMapIsPermutation(MlirAffineMap affineMap);
/ Returns the affine map consisting of the resultPos subset. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGetSubMap(MlirAffineMap affineMap, intptr_t size, intptr_t *resultPos);
/ Returns the affine map consisting of the most major numResults results. / Returns the null AffineMap if the numResults is equal to zero. / Returns the affineMap if numResults is greater or equals to number of / results of the given affine map. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGetMajorSubMap(MlirAffineMap affineMap, intptr_t numResults);
/ Returns the affine map consisting of the most minor numResults results. / Returns the null AffineMap if the numResults is equal to zero. / Returns the affineMap if numResults is greater or equals to number of / results of the given affine map. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGetMinorSubMap(MlirAffineMap affineMap, intptr_t numResults);
/ Apply AffineExpr::replace(map) to each of the results and return a new / new AffineMap with the new results and the specified number of dims and / symbols. MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapReplace( MlirAffineMap affineMap, MlirAffineExpr expression, MlirAffineExpr replacement, intptr_t numResultDims, intptr_t numResultSyms);
/ Returns the simplified affine map resulting from dropping the symbols that / do not appear in any of the individual maps in affineMaps. / Asserts that all maps in affineMaps are normalized to the same number of / dims and symbols. / Takes a callback populateResult to fill the res container with value / m at entry idx. This allows returning without worrying about ownership considerations.
Definition at line 150 of file AffineMap.cpp.
References mlir::compressUnusedSymbols(), result, unwrap(), and wrap().
| MlirAffineMap mlirAffineMapConstantGet | ( | MlirContext | ctx, |
| int64_t | val ) |
Definition at line 54 of file AffineMap.cpp.
References mlir::AffineMap::getConstantMap(), unwrap(), and wrap().
| void mlirAffineMapDump | ( | MlirAffineMap | affineMap | ) |
Definition at line 35 of file AffineMap.cpp.
References unwrap().
| MlirAffineMap mlirAffineMapEmptyGet | ( | MlirContext | ctx | ) |
Definition at line 37 of file AffineMap.cpp.
References mlir::AffineMap::get(), unwrap(), and wrap().
| bool mlirAffineMapEqual | ( | MlirAffineMap | a1, |
| MlirAffineMap | a2 ) |
Checks if two affine maps are equal.
Definition at line 25 of file AffineMap.cpp.
References unwrap().
Referenced by mlir::python::PyAffineMap::operator==().
| MlirAffineMap mlirAffineMapGet | ( | MlirContext | ctx, |
| intptr_t | dimCount, | ||
| intptr_t | symbolCount, | ||
| intptr_t | nAffineExprs, | ||
| MlirAffineExpr * | affineExprs ) |
Definition at line 46 of file AffineMap.cpp.
References mlir::AffineMap::get(), unwrap(), unwrapList(), and wrap().
| MlirContext mlirAffineMapGetContext | ( | MlirAffineMap | affineMap | ) |
Gets the context that the given affine map was created with.
Definition at line 21 of file AffineMap.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyAffineMap::createFromCapsule().
| MlirAffineMap mlirAffineMapGetMajorSubMap | ( | MlirAffineMap | affineMap, |
| intptr_t | numResults ) |
Definition at line 131 of file AffineMap.cpp.
| MlirAffineMap mlirAffineMapGetMinorSubMap | ( | MlirAffineMap | affineMap, |
| intptr_t | numResults ) |
Definition at line 136 of file AffineMap.cpp.
| intptr_t mlirAffineMapGetNumDims | ( | MlirAffineMap | affineMap | ) |
Definition at line 94 of file AffineMap.cpp.
References unwrap().
| intptr_t mlirAffineMapGetNumInputs | ( | MlirAffineMap | affineMap | ) |
Definition at line 110 of file AffineMap.cpp.
References unwrap().
| intptr_t mlirAffineMapGetNumResults | ( | MlirAffineMap | affineMap | ) |
Definition at line 102 of file AffineMap.cpp.
References unwrap().
| intptr_t mlirAffineMapGetNumSymbols | ( | MlirAffineMap | affineMap | ) |
Definition at line 98 of file AffineMap.cpp.
References unwrap().
| MlirAffineExpr mlirAffineMapGetResult | ( | MlirAffineMap | affineMap, |
| intptr_t | pos ) |
Definition at line 106 of file AffineMap.cpp.
| int64_t mlirAffineMapGetSingleConstantResult | ( | MlirAffineMap | affineMap | ) |
Definition at line 90 of file AffineMap.cpp.
References unwrap().
| MlirAffineMap mlirAffineMapGetSubMap | ( | MlirAffineMap | affineMap, |
| intptr_t | size, | ||
| intptr_t * | resultPos ) |
Definition at line 122 of file AffineMap.cpp.
| bool mlirAffineMapIsEmpty | ( | MlirAffineMap | affineMap | ) |
Definition at line 82 of file AffineMap.cpp.
References unwrap().
| bool mlirAffineMapIsIdentity | ( | MlirAffineMap | affineMap | ) |
Definition at line 74 of file AffineMap.cpp.
References unwrap().
| bool mlirAffineMapIsMinorIdentity | ( | MlirAffineMap | affineMap | ) |
Definition at line 78 of file AffineMap.cpp.
References unwrap().
| bool mlirAffineMapIsPermutation | ( | MlirAffineMap | affineMap | ) |
Definition at line 118 of file AffineMap.cpp.
References unwrap().
| bool mlirAffineMapIsProjectedPermutation | ( | MlirAffineMap | affineMap | ) |
Definition at line 114 of file AffineMap.cpp.
References unwrap().
| bool mlirAffineMapIsSingleConstant | ( | MlirAffineMap | affineMap | ) |
Definition at line 86 of file AffineMap.cpp.
References unwrap().
| MlirAffineMap mlirAffineMapMinorIdentityGet | ( | MlirContext | ctx, |
| intptr_t | dims, | ||
| intptr_t | results ) |
Definition at line 63 of file AffineMap.cpp.
References mlir::AffineMap::getMinorIdentityMap(), unwrap(), and wrap().
| MlirAffineMap mlirAffineMapMultiDimIdentityGet | ( | MlirContext | ctx, |
| intptr_t | numDims ) |
Definition at line 58 of file AffineMap.cpp.
References mlir::AffineMap::getMultiDimIdentityMap(), unwrap(), and wrap().
| MlirAffineMap mlirAffineMapPermutationGet | ( | MlirContext | ctx, |
| intptr_t | size, | ||
| unsigned * | permutation ) |
Definition at line 68 of file AffineMap.cpp.
References mlir::AffineMap::getPermutationMap(), unwrap(), and wrap().
| void mlirAffineMapPrint | ( | MlirAffineMap | affineMap, |
| MlirStringCallback | callback, | ||
| void * | userData ) |
Definition at line 29 of file AffineMap.cpp.
References mlir::Diagnostic::print(), and unwrap().
| MlirAffineMap mlirAffineMapReplace | ( | MlirAffineMap | affineMap, |
| MlirAffineExpr | expression, | ||
| MlirAffineExpr | replacement, | ||
| intptr_t | numResultDims, | ||
| intptr_t | numResultSyms ) |
Definition at line 141 of file AffineMap.cpp.
References replacement(), unwrap(), and wrap().
| MlirAffineMap mlirAffineMapZeroResultGet | ( | MlirContext | ctx, |
| intptr_t | dimCount, | ||
| intptr_t | symbolCount ) |
Definition at line 41 of file AffineMap.cpp.
References mlir::AffineMap::get(), unwrap(), and wrap().