|
MLIR 22.0.0git
|
#include "mlir-c/AffineExpr.h"#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/AffineExpr.h"Go to the source code of this file.
Functions | |
| MlirContext | mlirAffineExprGetContext (MlirAffineExpr affineExpr) |
| Gets the context that owns the affine expression. | |
| bool | mlirAffineExprEqual (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Returns true if the two affine expressions are equal. | |
| void | mlirAffineExprPrint (MlirAffineExpr affineExpr, MlirStringCallback callback, void *userData) |
| void | mlirAffineExprDump (MlirAffineExpr affineExpr) |
| bool | mlirAffineExprIsSymbolicOrConstant (MlirAffineExpr affineExpr) |
| bool | mlirAffineExprIsPureAffine (MlirAffineExpr affineExpr) |
| int64_t | mlirAffineExprGetLargestKnownDivisor (MlirAffineExpr affineExpr) |
| bool | mlirAffineExprIsMultipleOf (MlirAffineExpr affineExpr, int64_t factor) |
| bool | mlirAffineExprIsFunctionOfDim (MlirAffineExpr affineExpr, intptr_t position) |
| MlirAffineExpr | mlirAffineExprCompose (MlirAffineExpr affineExpr, MlirAffineMap affineMap) |
| MlirAffineExpr | mlirAffineExprShiftDims (MlirAffineExpr affineExpr, uint32_t numDims, uint32_t shift, uint32_t offset) |
| MlirAffineExpr | mlirAffineExprShiftSymbols (MlirAffineExpr affineExpr, uint32_t numSymbols, uint32_t shift, uint32_t offset) |
| MlirAffineExpr | mlirSimplifyAffineExpr (MlirAffineExpr expr, uint32_t numDims, uint32_t numSymbols) |
| Prints an affine expression by sending chunks of the string representation and forwarding userData to callback`. | |
| bool | mlirAffineExprIsADim (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is a dimension expression. | |
| MlirAffineExpr | mlirAffineDimExprGet (MlirContext ctx, intptr_t position) |
| Creates an affine dimension expression with 'position' in the context. | |
| intptr_t | mlirAffineDimExprGetPosition (MlirAffineExpr affineExpr) |
| Returns the position of the given affine dimension expression. | |
| bool | mlirAffineExprIsASymbol (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is a symbol expression. | |
| MlirAffineExpr | mlirAffineSymbolExprGet (MlirContext ctx, intptr_t position) |
| Creates an affine symbol expression with 'position' in the context. | |
| intptr_t | mlirAffineSymbolExprGetPosition (MlirAffineExpr affineExpr) |
| Returns the position of the given affine symbol expression. | |
| bool | mlirAffineExprIsAConstant (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is a constant expression. | |
| MlirAffineExpr | mlirAffineConstantExprGet (MlirContext ctx, int64_t constant) |
| Creates an affine constant expression with 'constant' in the context. | |
| int64_t | mlirAffineConstantExprGetValue (MlirAffineExpr affineExpr) |
| Returns the value of the given affine constant expression. | |
| bool | mlirAffineExprIsAAdd (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is an add expression. | |
| MlirAffineExpr | mlirAffineAddExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Creates an affine add expression with 'lhs' and 'rhs'. | |
| bool | mlirAffineExprIsAMul (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is an mul expression. | |
| MlirAffineExpr | mlirAffineMulExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Creates an affine mul expression with 'lhs' and 'rhs'. | |
| bool | mlirAffineExprIsAMod (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is an mod expression. | |
| MlirAffineExpr | mlirAffineModExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Creates an affine mod expression with 'lhs' and 'rhs'. | |
| bool | mlirAffineExprIsAFloorDiv (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is an floordiv expression. | |
| MlirAffineExpr | mlirAffineFloorDivExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Creates an affine floordiv expression with 'lhs' and 'rhs'. | |
| bool | mlirAffineExprIsACeilDiv (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is an ceildiv expression. | |
| MlirAffineExpr | mlirAffineCeilDivExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs) |
| Creates an affine ceildiv expression with 'lhs' and 'rhs'. | |
| bool | mlirAffineExprIsABinary (MlirAffineExpr affineExpr) |
| Checks whether the given affine expression is binary. | |
| MlirAffineExpr | mlirAffineBinaryOpExprGetLHS (MlirAffineExpr affineExpr) |
| Returns the left hand side affine expression of the given affine binary operation expression. | |
| MlirAffineExpr | mlirAffineBinaryOpExprGetRHS (MlirAffineExpr affineExpr) |
| Returns the right hand side affine expression of the given affine binary operation expression. | |
| MlirAffineExpr mlirAffineAddExprGet | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Creates an affine add expression with 'lhs' and 'rhs'.
Definition at line 137 of file AffineExpr.cpp.
References mlir::Add, mlir::getAffineBinaryOpExpr(), lhs, rhs, unwrap(), and wrap().
| MlirAffineExpr mlirAffineBinaryOpExprGetLHS | ( | MlirAffineExpr | affineExpr | ) |
Returns the left hand side affine expression of the given affine binary operation expression.
Definition at line 204 of file AffineExpr.cpp.
| MlirAffineExpr mlirAffineBinaryOpExprGetRHS | ( | MlirAffineExpr | affineExpr | ) |
Returns the right hand side affine expression of the given affine binary operation expression.
Definition at line 208 of file AffineExpr.cpp.
| MlirAffineExpr mlirAffineCeilDivExprGet | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Creates an affine ceildiv expression with 'lhs' and 'rhs'.
Definition at line 190 of file AffineExpr.cpp.
References mlir::CeilDiv, mlir::getAffineBinaryOpExpr(), lhs, rhs, unwrap(), and wrap().
| MlirAffineExpr mlirAffineConstantExprGet | ( | MlirContext | ctx, |
| int64_t | constant ) |
Creates an affine constant expression with 'constant' in the context.
Definition at line 121 of file AffineExpr.cpp.
References mlir::getAffineConstantExpr(), unwrap(), and wrap().
| int64_t mlirAffineConstantExprGetValue | ( | MlirAffineExpr | affineExpr | ) |
Returns the value of the given affine constant expression.
Definition at line 125 of file AffineExpr.cpp.
References unwrap().
| MlirAffineExpr mlirAffineDimExprGet | ( | MlirContext | ctx, |
| intptr_t | position ) |
Creates an affine dimension expression with 'position' in the context.
Definition at line 89 of file AffineExpr.cpp.
References mlir::getAffineDimExpr(), unwrap(), and wrap().
| intptr_t mlirAffineDimExprGetPosition | ( | MlirAffineExpr | affineExpr | ) |
Returns the position of the given affine dimension expression.
Definition at line 93 of file AffineExpr.cpp.
References unwrap().
| MlirAffineExpr mlirAffineExprCompose | ( | MlirAffineExpr | affineExpr, |
| MlirAffineMap | affineMap ) |
Definition at line 59 of file AffineExpr.cpp.
| void mlirAffineExprDump | ( | MlirAffineExpr | affineExpr | ) |
Definition at line 34 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprEqual | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Returns true if the two affine expressions are equal.
Definition at line 24 of file AffineExpr.cpp.
References lhs, rhs, and unwrap().
Referenced by mlir::python::PyAffineExpr::operator==().
| MlirContext mlirAffineExprGetContext | ( | MlirAffineExpr | affineExpr | ) |
Gets the context that owns the affine expression.
Definition at line 20 of file AffineExpr.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyAffineExpr::createFromCapsule().
| int64_t mlirAffineExprGetLargestKnownDivisor | ( | MlirAffineExpr | affineExpr | ) |
Definition at line 46 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsAAdd | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is an add expression.
Definition at line 133 of file AffineExpr.cpp.
| bool mlirAffineExprIsABinary | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is binary.
Definition at line 200 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsACeilDiv | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is an ceildiv expression.
Definition at line 186 of file AffineExpr.cpp.
References mlir::CeilDiv, and unwrap().
| bool mlirAffineExprIsAConstant | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is a constant expression.
Definition at line 117 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsADim | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is a dimension expression.
Definition at line 85 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsAFloorDiv | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is an floordiv expression.
Definition at line 172 of file AffineExpr.cpp.
References mlir::FloorDiv, and unwrap().
| bool mlirAffineExprIsAMod | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is an mod expression.
Definition at line 159 of file AffineExpr.cpp.
| bool mlirAffineExprIsAMul | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is an mul expression.
Definition at line 146 of file AffineExpr.cpp.
| bool mlirAffineExprIsASymbol | ( | MlirAffineExpr | affineExpr | ) |
Checks whether the given affine expression is a symbol expression.
Definition at line 101 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsFunctionOfDim | ( | MlirAffineExpr | affineExpr, |
| intptr_t | position ) |
Definition at line 54 of file AffineExpr.cpp.
References unwrap().
Definition at line 50 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsPureAffine | ( | MlirAffineExpr | affineExpr | ) |
Definition at line 42 of file AffineExpr.cpp.
References unwrap().
| bool mlirAffineExprIsSymbolicOrConstant | ( | MlirAffineExpr | affineExpr | ) |
Definition at line 38 of file AffineExpr.cpp.
References unwrap().
| void mlirAffineExprPrint | ( | MlirAffineExpr | affineExpr, |
| MlirStringCallback | callback, | ||
| void * | userData ) |
Definition at line 28 of file AffineExpr.cpp.
References mlir::Diagnostic::print(), and unwrap().
| MlirAffineExpr mlirAffineExprShiftDims | ( | MlirAffineExpr | affineExpr, |
| uint32_t | numDims, | ||
| uint32_t | shift, | ||
| uint32_t | offset ) |
Definition at line 64 of file AffineExpr.cpp.
| MlirAffineExpr mlirAffineExprShiftSymbols | ( | MlirAffineExpr | affineExpr, |
| uint32_t | numSymbols, | ||
| uint32_t | shift, | ||
| uint32_t | offset ) |
Definition at line 70 of file AffineExpr.cpp.
| MlirAffineExpr mlirAffineFloorDivExprGet | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Creates an affine floordiv expression with 'lhs' and 'rhs'.
Definition at line 176 of file AffineExpr.cpp.
References mlir::FloorDiv, mlir::getAffineBinaryOpExpr(), lhs, rhs, unwrap(), and wrap().
| MlirAffineExpr mlirAffineModExprGet | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Creates an affine mod expression with 'lhs' and 'rhs'.
Definition at line 163 of file AffineExpr.cpp.
References mlir::getAffineBinaryOpExpr(), lhs, mlir::Mod, rhs, unwrap(), and wrap().
| MlirAffineExpr mlirAffineMulExprGet | ( | MlirAffineExpr | lhs, |
| MlirAffineExpr | rhs ) |
Creates an affine mul expression with 'lhs' and 'rhs'.
Definition at line 150 of file AffineExpr.cpp.
References mlir::getAffineBinaryOpExpr(), lhs, mlir::Mul, rhs, unwrap(), and wrap().
| MlirAffineExpr mlirAffineSymbolExprGet | ( | MlirContext | ctx, |
| intptr_t | position ) |
Creates an affine symbol expression with 'position' in the context.
Definition at line 105 of file AffineExpr.cpp.
References mlir::getAffineSymbolExpr(), unwrap(), and wrap().
| intptr_t mlirAffineSymbolExprGetPosition | ( | MlirAffineExpr | affineExpr | ) |
Returns the position of the given affine symbol expression.
Definition at line 109 of file AffineExpr.cpp.
References unwrap().
| MlirAffineExpr mlirSimplifyAffineExpr | ( | MlirAffineExpr | expr, |
| uint32_t | numDims, | ||
| uint32_t | numSymbols ) |
Prints an affine expression 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 mlirAffineExprPrint(MlirAffineExpr affineExpr, MlirStringCallback callback, void *userData);
/ Prints the affine expression to the standard error stream. MLIR_CAPI_EXPORTED void mlirAffineExprDump(MlirAffineExpr affineExpr);
/ Checks whether the given affine expression is made out of only symbols and / constants. MLIR_CAPI_EXPORTED bool mlirAffineExprIsSymbolicOrConstant(MlirAffineExpr affineExpr);
/ Checks whether the given affine expression is a pure affine expression, i.e. / mul, floordiv, ceildic, and mod is only allowed w.r.t constants. MLIR_CAPI_EXPORTED bool mlirAffineExprIsPureAffine(MlirAffineExpr affineExpr);
/ Returns the greatest known integral divisor of this affine expression. The / result is always positive. MLIR_CAPI_EXPORTED int64_t mlirAffineExprGetLargestKnownDivisor(MlirAffineExpr affineExpr);
/ Checks whether the given affine expression is a multiple of 'factor'. MLIR_CAPI_EXPORTED bool mlirAffineExprIsMultipleOf(MlirAffineExpr affineExpr, int64_t factor);
/ Checks whether the given affine expression involves AffineDimExpr / 'position'. MLIR_CAPI_EXPORTED bool mlirAffineExprIsFunctionOfDim(MlirAffineExpr affineExpr, intptr_t position);
/ Composes the given map with the given expression. MLIR_CAPI_EXPORTED MlirAffineExpr mlirAffineExprCompose( MlirAffineExpr affineExpr, struct MlirAffineMap affineMap);
/ Replace dims[offset ... numDims) / by dims[offset + shift ... shift + numDims). MLIR_CAPI_EXPORTED MlirAffineExpr mlirAffineExprShiftDims(MlirAffineExpr affineExpr, uint32_t numDims, uint32_t shift, uint32_t offset);
/ Replace symbols[offset ... numSymbols) / by symbols[offset + shift ... shift + numSymbols). MLIR_CAPI_EXPORTED MlirAffineExpr mlirAffineExprShiftSymbols(MlirAffineExpr affineExpr, uint32_t numSymbols, uint32_t shift, uint32_t offset);
/ Simplify an affine expression by flattening and some amount of simple / analysis. This has complexity linear in the number of nodes in 'expr'. / Returns the simplified expression, which is the same as the input expression / if it can't be simplified. When expr is semi-affine, a simplified semi-affine expression is constructed in the sorted order of dimension and symbol positions.
Definition at line 76 of file AffineExpr.cpp.
References mlir::simplifyAffineExpr(), unwrap(), and wrap().