Lines Matching refs:AffineExpr

23 MLIRContext *AffineExpr::getContext() const { return expr->context; }  in getContext()
25 AffineExprKind AffineExpr::getKind() const { return expr->kind; } in getKind()
28 void AffineExpr::walk(std::function<void(AffineExpr)> callback) const { in walk()
30 std::function<void(AffineExpr)> callback; in walk()
32 AffineExprWalker(std::function<void(AffineExpr)> callback) in walk()
45 AffineExpr mlir::getAffineBinaryOpExpr(AffineExprKind kind, AffineExpr lhs, in getAffineBinaryOpExpr()
46 AffineExpr rhs) { in getAffineBinaryOpExpr()
63 AffineExpr
64 AffineExpr::replaceDimsAndSymbols(ArrayRef<AffineExpr> dimReplacements, in replaceDimsAndSymbols()
65 ArrayRef<AffineExpr> symReplacements) const { in replaceDimsAndSymbols()
97 AffineExpr AffineExpr::replaceDims(ArrayRef<AffineExpr> dimReplacements) const { in replaceDims()
101 AffineExpr
102 AffineExpr::replaceSymbols(ArrayRef<AffineExpr> symReplacements) const { in replaceSymbols()
108 AffineExpr AffineExpr::shiftDims(unsigned numDims, unsigned shift, in shiftDims()
110 SmallVector<AffineExpr, 4> dims; in shiftDims()
120 AffineExpr AffineExpr::shiftSymbols(unsigned numSymbols, unsigned shift, in shiftSymbols()
122 SmallVector<AffineExpr, 4> symbols; in shiftSymbols()
131 AffineExpr
132 AffineExpr::replace(const DenseMap<AffineExpr, AffineExpr> &map) const { in replace() argument
156 AffineExpr AffineExpr::replace(AffineExpr expr, AffineExpr replacement) const { in replace()
157 DenseMap<AffineExpr, AffineExpr> map; in replace()
163 bool AffineExpr::isSymbolicOrConstant() const { in isSymbolicOrConstant()
187 bool AffineExpr::isPureAffine() const { in isPureAffine()
218 int64_t AffineExpr::getLargestKnownDivisor() const { in getLargestKnownDivisor()
246 bool AffineExpr::isMultipleOf(int64_t factor) const { in isMultipleOf()
280 bool AffineExpr::isFunctionOfDim(unsigned position) const { in isFunctionOfDim()
291 bool AffineExpr::isFunctionOfSymbol(unsigned position) const { in isFunctionOfSymbol()
302 AffineBinaryOpExpr::AffineBinaryOpExpr(AffineExpr::ImplType *ptr) in AffineBinaryOpExpr()
303 : AffineExpr(ptr) {} in AffineBinaryOpExpr()
304 AffineExpr AffineBinaryOpExpr::getLHS() const { in getLHS()
307 AffineExpr AffineBinaryOpExpr::getRHS() const { in getRHS()
311 AffineDimExpr::AffineDimExpr(AffineExpr::ImplType *ptr) : AffineExpr(ptr) {} in AffineDimExpr()
323 static bool isDivisibleBySymbol(AffineExpr expr, unsigned symbolPos, in isDivisibleBySymbol()
382 static AffineExpr symbolicDivide(AffineExpr expr, unsigned symbolPos, in symbolicDivide()
439 static AffineExpr simplifySemiAffine(AffineExpr expr) { in simplifySemiAffine()
461 AffineExpr sLHS = simplifySemiAffine(binaryExpr.getLHS()); in simplifySemiAffine()
462 AffineExpr sRHS = simplifySemiAffine(binaryExpr.getRHS()); in simplifySemiAffine()
478 static AffineExpr getAffineDimOrSymbol(AffineExprKind kind, unsigned position, in getAffineDimOrSymbol()
489 AffineExpr mlir::getAffineDimExpr(unsigned position, MLIRContext *context) { in getAffineDimExpr()
493 AffineSymbolExpr::AffineSymbolExpr(AffineExpr::ImplType *ptr) in AffineSymbolExpr()
494 : AffineExpr(ptr) {} in AffineSymbolExpr()
499 AffineExpr mlir::getAffineSymbolExpr(unsigned position, MLIRContext *context) { in getAffineSymbolExpr()
504 AffineConstantExpr::AffineConstantExpr(AffineExpr::ImplType *ptr) in AffineConstantExpr()
505 : AffineExpr(ptr) {} in AffineConstantExpr()
510 bool AffineExpr::operator==(int64_t v) const { in operator ==()
514 AffineExpr mlir::getAffineConstantExpr(int64_t constant, MLIRContext *context) { in getAffineConstantExpr()
524 static AffineExpr simplifyAdd(AffineExpr lhs, AffineExpr rhs) { in simplifyAdd()
557 AffineExpr firstExpr, secondExpr; in simplifyAdd()
605 AffineExpr llrhs, rlrhs; in simplifyAdd()
639 AffineExpr AffineExpr::operator+(int64_t v) const { in operator +()
642 AffineExpr AffineExpr::operator+(AffineExpr other) const { in operator +()
652 static AffineExpr simplifyMul(AffineExpr lhs, AffineExpr rhs) { in simplifyMul()
699 AffineExpr AffineExpr::operator*(int64_t v) const { in operator *()
702 AffineExpr AffineExpr::operator*(AffineExpr other) const { in operator *()
712 AffineExpr AffineExpr::operator-() const { in operator -()
717 AffineExpr AffineExpr::operator-(int64_t v) const { return *this + (-v); } in operator -()
718 AffineExpr AffineExpr::operator-(AffineExpr other) const { in operator -()
722 static AffineExpr simplifyFloorDiv(AffineExpr lhs, AffineExpr rhs) { in simplifyFloorDiv()
765 AffineExpr AffineExpr::floorDiv(uint64_t v) const { in floorDiv()
768 AffineExpr AffineExpr::floorDiv(AffineExpr other) const { in floorDiv()
778 static AffineExpr simplifyCeilDiv(AffineExpr lhs, AffineExpr rhs) { in simplifyCeilDiv()
808 AffineExpr AffineExpr::ceilDiv(uint64_t v) const { in ceilDiv()
811 AffineExpr AffineExpr::ceilDiv(AffineExpr other) const { in ceilDiv()
821 static AffineExpr simplifyMod(AffineExpr lhs, AffineExpr rhs) { in simplifyMod()
864 AffineExpr AffineExpr::operator%(uint64_t v) const { in operator %()
867 AffineExpr AffineExpr::operator%(AffineExpr other) const { in operator %()
876 AffineExpr AffineExpr::compose(AffineMap map) const { in compose()
877 SmallVector<AffineExpr, 8> dimReplacements(map.getResults().begin(), in compose()
881 raw_ostream &mlir::operator<<(raw_ostream &os, AffineExpr expr) { in operator <<()
891 AffineExpr mlir::getAffineExprFromFlatForm(ArrayRef<int64_t> flatExprs, in getAffineExprFromFlatForm()
894 ArrayRef<AffineExpr> localExprs, in getAffineExprFromFlatForm()
934 static AffineExpr getSemiAffineExprFromFlatForm(ArrayRef<int64_t> flatExprs, in getSemiAffineExprFromFlatForm()
937 ArrayRef<AffineExpr> localExprs, in getSemiAffineExprFromFlatForm()
945 AffineExpr expr = getAffineConstantExpr(0, context); in getSemiAffineExprFromFlatForm()
961 DenseMap<std::pair<unsigned, signed>, AffineExpr> indexToExprMap; in getSemiAffineExprFromFlatForm()
976 AffineExpr expr) { in getSemiAffineExprFromFlatForm()
1023 AffineExpr expr = it.value(); in getSemiAffineExprFromFlatForm()
1026 AffineExpr lhs = expr.cast<AffineBinaryOpExpr>().getLHS(); in getSemiAffineExprFromFlatForm()
1027 AffineExpr rhs = expr.cast<AffineBinaryOpExpr>().getRHS(); in getSemiAffineExprFromFlatForm()
1123 AffineExpr a = getAffineExprFromFlatForm(lhs, numDims, numSymbols, in visitMulExpr()
1125 AffineExpr b = getAffineExprFromFlatForm(rhs, numDims, numSymbols, in visitMulExpr()
1173 AffineExpr dividendExpr = getAffineExprFromFlatForm( in visitModExpr()
1175 AffineExpr divisorExpr = getAffineExprFromFlatForm(rhs, numDims, numSymbols, in visitModExpr()
1177 AffineExpr modExpr = dividendExpr % divisorExpr; in visitModExpr()
1214 AffineExpr dividendExpr = getAffineExprFromFlatForm( in visitModExpr()
1216 AffineExpr divisorExpr = getAffineConstantExpr(floorDivisor, context); in visitModExpr()
1217 AffineExpr floorDivExpr = dividendExpr.floorDiv(divisorExpr); in visitModExpr()
1257 AffineExpr expr, SmallVectorImpl<int64_t> &result, in addLocalVariableSemiAffine()
1297 AffineExpr a = getAffineExprFromFlatForm(lhs, numDims, numSymbols, in visitDivExpr()
1299 AffineExpr b = getAffineExprFromFlatForm(rhs, numDims, numSymbols, in visitDivExpr()
1301 AffineExpr divExpr = isCeil ? a.ceilDiv(b) : a.floorDiv(b); in visitDivExpr()
1332 AffineExpr a = in visitDivExpr()
1334 AffineExpr b = getAffineConstantExpr(divisor, context); in visitDivExpr()
1337 AffineExpr divExpr = isCeil ? a.ceilDiv(b) : a.floorDiv(b); in visitDivExpr()
1365 AffineExpr localExpr) { in addLocalFloorDivId()
1374 void SimpleAffineExprFlattener::addLocalIdSemiAffine(AffineExpr localExpr) { in addLocalIdSemiAffine()
1381 int SimpleAffineExprFlattener::findLocalId(AffineExpr localExpr) { in findLocalId()
1382 SmallVectorImpl<AffineExpr>::iterator it; in findLocalId()
1389 AffineExpr mlir::simplifyAffineExpr(AffineExpr expr, unsigned numDims, in simplifyAffineExpr()
1403 AffineExpr simplifiedExpr = in simplifyAffineExpr()