|
MLIR
22.0.0git
|
A symbolic identifier appearing in an affine expression. More...
#include "mlir/IR/AffineExpr.h"
Inheritance diagram for mlir::AffineSymbolExpr:Public Types | |
| using | ImplType = detail::AffineDimExprStorage |
Public Types inherited from mlir::AffineExpr | |
| using | ImplType = detail::AffineExprStorage |
Public Member Functions | |
| AffineSymbolExpr (AffineExpr::ImplType *ptr) | |
| unsigned | getPosition () const |
Public Member Functions inherited from mlir::AffineExpr | |
| constexpr | AffineExpr () |
| AffineExpr (const ImplType *expr) | |
| bool | operator== (AffineExpr other) const |
| bool | operator!= (AffineExpr other) const |
| bool | operator== (int64_t v) const |
| bool | operator!= (int64_t v) const |
| operator bool () const | |
| bool | operator! () const |
| MLIRContext * | getContext () const |
| AffineExprKind | getKind () const |
| Return the classification for this type. More... | |
| void | print (raw_ostream &os) const |
| void | dump () const |
| bool | isSymbolicOrConstant () const |
| Returns true if this expression is made out of only symbols and constants, i.e., it does not involve dimensional identifiers. More... | |
| bool | isPureAffine () const |
| Returns true if this is a pure affine expression, i.e., multiplication, floordiv, ceildiv, and mod is only allowed w.r.t constants. More... | |
| int64_t | getLargestKnownDivisor () const |
| Returns the greatest known integral divisor of this affine expression. More... | |
| bool | isMultipleOf (int64_t factor) const |
| Return true if the affine expression is a multiple of 'factor'. More... | |
| bool | isFunctionOfDim (unsigned position) const |
Return true if the affine expression involves AffineDimExpr position. More... | |
| bool | isFunctionOfSymbol (unsigned position) const |
Return true if the affine expression involves AffineSymbolExpr position. More... | |
| template<typename FnT , typename RetT = detail::walkResultType<FnT>> | |
| RetT | walk (FnT &&callback) const |
| Walk all of the AffineExpr's in this expression in postorder. More... | |
| AffineExpr | replaceDimsAndSymbols (ArrayRef< AffineExpr > dimReplacements, ArrayRef< AffineExpr > symReplacements) const |
| This method substitutes any uses of dimensions and symbols (e.g. More... | |
| AffineExpr | replaceDims (ArrayRef< AffineExpr > dimReplacements) const |
| Dim-only version of replaceDimsAndSymbols. More... | |
| AffineExpr | replaceSymbols (ArrayRef< AffineExpr > symReplacements) const |
| Symbol-only version of replaceDimsAndSymbols. More... | |
| AffineExpr | replace (AffineExpr expr, AffineExpr replacement) const |
| Sparse replace method. More... | |
| AffineExpr | replace (const DenseMap< AffineExpr, AffineExpr > &map) const |
| Sparse replace method. More... | |
| AffineExpr | shiftDims (unsigned numDims, unsigned shift, unsigned offset=0) const |
| Replace dims[offset ... More... | |
| AffineExpr | shiftSymbols (unsigned numSymbols, unsigned shift, unsigned offset=0) const |
| Replace symbols[offset ... More... | |
| AffineExpr | operator+ (int64_t v) const |
| AffineExpr | operator+ (AffineExpr other) const |
| AffineExpr | operator- () const |
| AffineExpr | operator- (int64_t v) const |
| AffineExpr | operator- (AffineExpr other) const |
| AffineExpr | operator* (int64_t v) const |
| AffineExpr | operator* (AffineExpr other) const |
| AffineExpr | floorDiv (uint64_t v) const |
| AffineExpr | floorDiv (AffineExpr other) const |
| AffineExpr | ceilDiv (uint64_t v) const |
| AffineExpr | ceilDiv (AffineExpr other) const |
| AffineExpr | operator% (uint64_t v) const |
| AffineExpr | operator% (AffineExpr other) const |
| AffineExpr | compose (AffineMap map) const |
| Compose with an AffineMap. More... | |
| const void * | getAsOpaquePointer () const |
| Methods supporting C API. More... | |
| ImplType * | getImpl () const |
Additional Inherited Members | |
Static Public Member Functions inherited from mlir::AffineExpr | |
| static AffineExpr | getFromOpaquePointer (const void *pointer) |
Protected Attributes inherited from mlir::AffineExpr | |
| ImplType * | expr {nullptr} |
A symbolic identifier appearing in an affine expression.
Definition at line 231 of file AffineExpr.h.
Definition at line 233 of file AffineExpr.h.
| AffineSymbolExpr::AffineSymbolExpr | ( | AffineExpr::ImplType * | ptr | ) |
Definition at line 623 of file AffineExpr.cpp.
| unsigned AffineSymbolExpr::getPosition | ( | ) | const |
Definition at line 625 of file AffineExpr.cpp.
References mlir::AffineExpr::expr.
Referenced by simplifySemiAffine(), and mlir::SimpleAffineExprFlattener::visitSymbolExpr().