MLIR  16.0.0git
Functions
AffineExpr.cpp File Reference
#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"
+ Include dependency graph for AffineExpr.cpp:

Go to the source code of this file.

Functions

MlirContext mlirAffineExprGetContext (MlirAffineExpr affineExpr)
 Gets the context that owns the affine expression. More...
 
bool mlirAffineExprEqual (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Returns true if the two affine expressions are equal. More...
 
void mlirAffineExprPrint (MlirAffineExpr affineExpr, MlirStringCallback callback, void *userData)
 Prints an affine expression by sending chunks of the string representation and forwarding userData tocallback`. More...
 
void mlirAffineExprDump (MlirAffineExpr affineExpr)
 Prints the affine expression to the standard error stream. More...
 
bool mlirAffineExprIsSymbolicOrConstant (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is made out of only symbols and constants. More...
 
bool mlirAffineExprIsPureAffine (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is a pure affine expression, i.e. More...
 
int64_t mlirAffineExprGetLargestKnownDivisor (MlirAffineExpr affineExpr)
 Returns the greatest known integral divisor of this affine expression. More...
 
bool mlirAffineExprIsMultipleOf (MlirAffineExpr affineExpr, int64_t factor)
 Checks whether the given affine expression is a multiple of 'factor'. More...
 
bool mlirAffineExprIsFunctionOfDim (MlirAffineExpr affineExpr, intptr_t position)
 Checks whether the given affine expression involves AffineDimExpr 'position'. More...
 
MlirAffineExpr mlirAffineExprCompose (MlirAffineExpr affineExpr, MlirAffineMap affineMap)
 Composes the given map with the given expression. More...
 
bool mlirAffineExprIsADim (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is a dimension expression. More...
 
MlirAffineExpr mlirAffineDimExprGet (MlirContext ctx, intptr_t position)
 Creates an affine dimension expression with 'position' in the context. More...
 
intptr_t mlirAffineDimExprGetPosition (MlirAffineExpr affineExpr)
 Returns the position of the given affine dimension expression. More...
 
bool mlirAffineExprIsASymbol (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is a symbol expression. More...
 
MlirAffineExpr mlirAffineSymbolExprGet (MlirContext ctx, intptr_t position)
 Creates an affine symbol expression with 'position' in the context. More...
 
intptr_t mlirAffineSymbolExprGetPosition (MlirAffineExpr affineExpr)
 Returns the position of the given affine symbol expression. More...
 
bool mlirAffineExprIsAConstant (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is a constant expression. More...
 
MlirAffineExpr mlirAffineConstantExprGet (MlirContext ctx, int64_t constant)
 Creates an affine constant expression with 'constant' in the context. More...
 
int64_t mlirAffineConstantExprGetValue (MlirAffineExpr affineExpr)
 Returns the value of the given affine constant expression. More...
 
bool mlirAffineExprIsAAdd (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is an add expression. More...
 
MlirAffineExpr mlirAffineAddExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Creates an affine add expression with 'lhs' and 'rhs'. More...
 
bool mlirAffineExprIsAMul (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is an mul expression. More...
 
MlirAffineExpr mlirAffineMulExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Creates an affine mul expression with 'lhs' and 'rhs'. More...
 
bool mlirAffineExprIsAMod (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is an mod expression. More...
 
MlirAffineExpr mlirAffineModExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Creates an affine mod expression with 'lhs' and 'rhs'. More...
 
bool mlirAffineExprIsAFloorDiv (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is an floordiv expression. More...
 
MlirAffineExpr mlirAffineFloorDivExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Creates an affine floordiv expression with 'lhs' and 'rhs'. More...
 
bool mlirAffineExprIsACeilDiv (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is an ceildiv expression. More...
 
MlirAffineExpr mlirAffineCeilDivExprGet (MlirAffineExpr lhs, MlirAffineExpr rhs)
 Creates an affine ceildiv expression with 'lhs' and 'rhs'. More...
 
bool mlirAffineExprIsABinary (MlirAffineExpr affineExpr)
 Checks whether the given affine expression is binary. More...
 
MlirAffineExpr mlirAffineBinaryOpExprGetLHS (MlirAffineExpr affineExpr)
 Returns the left hand side affine expression of the given affine binary operation expression. More...
 
MlirAffineExpr mlirAffineBinaryOpExprGetRHS (MlirAffineExpr affineExpr)
 Returns the right hand side affine expression of the given affine binary operation expression. More...
 

Function Documentation

◆ mlirAffineAddExprGet()

MlirAffineExpr mlirAffineAddExprGet ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Creates an affine add expression with 'lhs' and 'rhs'.

Definition at line 120 of file AffineExpr.cpp.

Referenced by mlirAffineExprIsNull().

◆ mlirAffineBinaryOpExprGetLHS()

MlirAffineExpr mlirAffineBinaryOpExprGetLHS ( MlirAffineExpr  affineExpr)

Returns the left hand side affine expression of the given affine binary operation expression.

Definition at line 187 of file AffineExpr.cpp.

References unwrap(), and wrap().

◆ mlirAffineBinaryOpExprGetRHS()

MlirAffineExpr mlirAffineBinaryOpExprGetRHS ( MlirAffineExpr  affineExpr)

Returns the right hand side affine expression of the given affine binary operation expression.

Definition at line 191 of file AffineExpr.cpp.

References unwrap(), and wrap().

◆ mlirAffineCeilDivExprGet()

MlirAffineExpr mlirAffineCeilDivExprGet ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Creates an affine ceildiv expression with 'lhs' and 'rhs'.

Definition at line 173 of file AffineExpr.cpp.

◆ mlirAffineConstantExprGet()

MlirAffineExpr mlirAffineConstantExprGet ( MlirContext  ctx,
int64_t  constant 
)

Creates an affine constant expression with 'constant' in the context.

Definition at line 104 of file AffineExpr.cpp.

References mlir::getAffineConstantExpr(), unwrap(), and wrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineConstantExprGetValue()

int64_t mlirAffineConstantExprGetValue ( MlirAffineExpr  affineExpr)

Returns the value of the given affine constant expression.

Definition at line 108 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineDimExprGet()

MlirAffineExpr mlirAffineDimExprGet ( MlirContext  ctx,
intptr_t  position 
)

Creates an affine dimension expression with 'position' in the context.

Definition at line 72 of file AffineExpr.cpp.

References mlir::getAffineDimExpr(), unwrap(), and wrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineDimExprGetPosition()

intptr_t mlirAffineDimExprGetPosition ( MlirAffineExpr  affineExpr)

Returns the position of the given affine dimension expression.

Definition at line 76 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineExprCompose()

MlirAffineExpr mlirAffineExprCompose ( MlirAffineExpr  affineExpr,
MlirAffineMap  affineMap 
)

Composes the given map with the given expression.

Definition at line 59 of file AffineExpr.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::PyIntegerSet::createFromCapsule(), and mlirAffineExprIsNull().

◆ mlirAffineExprDump()

void mlirAffineExprDump ( MlirAffineExpr  affineExpr)

Prints the affine expression to the standard error stream.

Definition at line 34 of file AffineExpr.cpp.

References unwrap().

Referenced by mlir::python::PyIntegerSet::createFromCapsule(), and mlirAffineExprIsNull().

◆ mlirAffineExprEqual()

bool mlirAffineExprEqual ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Returns true if the two affine expressions are equal.

Definition at line 24 of file AffineExpr.cpp.

Referenced by mlir::python::PyAffineExpr::operator==().

◆ mlirAffineExprGetContext()

MlirContext mlirAffineExprGetContext ( MlirAffineExpr  affineExpr)

Gets the context that owns the affine expression.

Definition at line 20 of file AffineExpr.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::PyAffineExpr::createFromCapsule().

◆ mlirAffineExprGetLargestKnownDivisor()

int64_t mlirAffineExprGetLargestKnownDivisor ( MlirAffineExpr  affineExpr)

Returns the greatest known integral divisor of this affine expression.

The result is always positive.

Definition at line 46 of file AffineExpr.cpp.

References unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprIsAAdd()

bool mlirAffineExprIsAAdd ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is an add expression.

Definition at line 116 of file AffineExpr.cpp.

References mlir::Add, and unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprIsABinary()

bool mlirAffineExprIsABinary ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is binary.

Definition at line 183 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation().

◆ mlirAffineExprIsACeilDiv()

bool mlirAffineExprIsACeilDiv ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is an ceildiv expression.

Definition at line 169 of file AffineExpr.cpp.

References mlir::CeilDiv, and unwrap().

◆ mlirAffineExprIsAConstant()

bool mlirAffineExprIsAConstant ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is a constant expression.

Definition at line 100 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineExprIsADim()

bool mlirAffineExprIsADim ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is a dimension expression.

Definition at line 68 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineExprIsAFloorDiv()

bool mlirAffineExprIsAFloorDiv ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is an floordiv expression.

Definition at line 155 of file AffineExpr.cpp.

References mlir::FloorDiv, and unwrap().

◆ mlirAffineExprIsAMod()

bool mlirAffineExprIsAMod ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is an mod expression.

Definition at line 142 of file AffineExpr.cpp.

References mlir::Mod, and unwrap().

◆ mlirAffineExprIsAMul()

bool mlirAffineExprIsAMul ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is an mul expression.

Definition at line 129 of file AffineExpr.cpp.

References mlir::Mul, and unwrap().

◆ mlirAffineExprIsASymbol()

bool mlirAffineExprIsASymbol ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is a symbol expression.

Definition at line 84 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineExprIsFunctionOfDim()

bool mlirAffineExprIsFunctionOfDim ( MlirAffineExpr  affineExpr,
intptr_t  position 
)

Checks whether the given affine expression involves AffineDimExpr 'position'.

Definition at line 54 of file AffineExpr.cpp.

References unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprIsMultipleOf()

bool mlirAffineExprIsMultipleOf ( MlirAffineExpr  affineExpr,
int64_t  factor 
)

Checks whether the given affine expression is a multiple of 'factor'.

Definition at line 50 of file AffineExpr.cpp.

References unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprIsPureAffine()

bool mlirAffineExprIsPureAffine ( 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.

Definition at line 42 of file AffineExpr.cpp.

References unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprIsSymbolicOrConstant()

bool mlirAffineExprIsSymbolicOrConstant ( MlirAffineExpr  affineExpr)

Checks whether the given affine expression is made out of only symbols and constants.

Definition at line 38 of file AffineExpr.cpp.

References unwrap().

Referenced by mlirAffineExprIsNull().

◆ mlirAffineExprPrint()

void mlirAffineExprPrint ( MlirAffineExpr  affineExpr,
MlirStringCallback  callback,
void userData 
)

Prints an affine expression by sending chunks of the string representation and forwarding userData tocallback`.

Note that the callback may be called several times with consecutive chunks of the string.

Definition at line 28 of file AffineExpr.cpp.

References mlir::Diagnostic::print(), and unwrap().

Referenced by mlir::python::PyIntegerSet::createFromCapsule(), and mlirAffineExprIsNull().

◆ mlirAffineFloorDivExprGet()

MlirAffineExpr mlirAffineFloorDivExprGet ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Creates an affine floordiv expression with 'lhs' and 'rhs'.

Definition at line 159 of file AffineExpr.cpp.

◆ mlirAffineModExprGet()

MlirAffineExpr mlirAffineModExprGet ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Creates an affine mod expression with 'lhs' and 'rhs'.

Definition at line 146 of file AffineExpr.cpp.

◆ mlirAffineMulExprGet()

MlirAffineExpr mlirAffineMulExprGet ( MlirAffineExpr  lhs,
MlirAffineExpr  rhs 
)

Creates an affine mul expression with 'lhs' and 'rhs'.

Definition at line 133 of file AffineExpr.cpp.

◆ mlirAffineSymbolExprGet()

MlirAffineExpr mlirAffineSymbolExprGet ( MlirContext  ctx,
intptr_t  position 
)

Creates an affine symbol expression with 'position' in the context.

Definition at line 88 of file AffineExpr.cpp.

References mlir::getAffineSymbolExpr(), unwrap(), and wrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().

◆ mlirAffineSymbolExprGetPosition()

intptr_t mlirAffineSymbolExprGetPosition ( MlirAffineExpr  affineExpr)

Returns the position of the given affine symbol expression.

Definition at line 92 of file AffineExpr.cpp.

References unwrap().

Referenced by isPermutation(), and mlirAffineExprIsNull().