Lines Matching full:cstr

184   LogicalResult status = cstr.addBound(
186 AffineMap::get(cstr.getNumDimVars(), cstr.getNumSymbolVars(), expr),
270 int64_t pos = isSymbol ? cstr.appendVar(VarKind::Symbol)
271 : cstr.appendVar(VarKind::SetDim);
293 int64_t pos = isSymbol ? cstr.appendVar(VarKind::Symbol)
294 : cstr.appendVar(VarKind::SetDim);
350 assert(pos >= 0 && pos < cstr.getNumDimAndSymbolVars() && "invalid position");
351 return pos < cstr.getNumDimVars()
353 : builder.getAffineSymbolExpr(pos - cstr.getNumDimVars());
422 cstr.projectOut(pos);
474 ValueBoundsConstraintSet cstr(ctx, stopCondition);
475 int64_t pos = cstr.insert(var, /*isSymbol=*/false);
477 cstr.processWorklist();
481 cstr.projectOut([&](ValueDim p) {
484 return !stopCondition(p.first, maybeDim, cstr);
486 cstr.projectOutAnonymous(/*except=*/pos);
490 cstr.cstr.getSliceBounds(pos, 1, ctx, &lb, &ub,
526 assert(cstr.cstr.getNumDimAndSymbolVars() == cstr.positionToValueDim.size() &&
530 for (int64_t i = 0; i < cstr.cstr.getNumDimAndSymbolVars(); ++i) {
537 bool isDim = i < cstr.cstr.getNumDimVars();
542 if (bound.isFunctionOfSymbol(i - cstr.cstr.getNumDimVars()))
562 assert(cstr.positionToValueDim[i].has_value() &&
564 ValueBoundsConstraintSet::ValueDim valueDim = *cstr.positionToValueDim[i];
590 [&](Value v, std::optional<int64_t> d, ValueBoundsConstraintSet &cstr) {
624 [&](Value v, std::optional<int64_t> d, ValueBoundsConstraintSet &cstr) {
637 ValueBoundsConstraintSet &cstr) {
638 return cstr.cstr.getConstantBound64(type, pos).has_value();
641 ValueBoundsConstraintSet cstr(
643 pos = cstr.populateConstraints(var.map, var.mapOperands);
648 if (auto bound = cstr.cstr.getConstantBound64(type, pos))
704 if (cstr.isEmpty()) {
717 SmallVector<int64_t> eq(cstr.getNumCols(), 0);
728 eq[cstr.getNumCols() - 1] -= 1;
732 int64_t ineqPos = cstr.getNumInequalities();
733 cstr.addInequality(eq);
734 bool isEmpty = cstr.isEmpty();
735 cstr.removeInequality(ineqPos);
752 ValueBoundsConstraintSet &cstr) {
754 if (size_t(lhsPos) >= cstr.positionToValueDim.size() ||
755 size_t(rhsPos) >= cstr.positionToValueDim.size())
758 return cstr.comparePos(lhsPos, cmp, rhsPos);
760 ValueBoundsConstraintSet cstr(lhs.getContext(), stopCondition);
761 lhsPos = cstr.populateConstraints(lhs.map, lhs.mapOperands);
762 rhsPos = cstr.populateConstraints(rhs.map, rhs.mapOperands);
763 return cstr.comparePos(lhsPos, cmp, rhsPos);
908 cstr.dump();
926 cstr.addBound(BoundType::UB, cstr.getPos(value, this->dim), expr);
941 cstr.addBound(BoundType::LB, cstr.getPos(value, this->dim), expr);
948 cstr.addBound(BoundType::EQ, cstr.getPos(value, this->dim), expr);
952 operator<(cstr.getExpr(ofr));
956 operator<=(cstr.getExpr(ofr));
960 operator>(cstr.getExpr(ofr));
964 operator>=(cstr.getExpr(ofr));
968 operator==(cstr.getExpr(ofr));
972 operator<(cstr.getExpr(i));
976 operator<=(cstr.getExpr(i));
980 operator>(cstr.getExpr(i));
984 operator>=(cstr.getExpr(i));
988 operator==(cstr.getExpr(i));