Lines Matching full:cstr
47 ValueBoundsConstraintSet &cstr) {
63 if (cstr.populateAndCompare(
68 cstr.bound(value)[*dim] == cstr.getExpr(initArg, dim);
70 cstr.bound(value) == cstr.getExpr(initArg);
80 AffineExpr lbExpr = cstr.getExpr(forOp.getLowerBound());
81 AffineExpr ubExpr = cstr.getExpr(forOp.getUpperBound());
82 AffineExpr stepExpr = cstr.getExpr(forOp.getStep());
86 cstr.getExpr(yieldedValue) - cstr.getExpr(iterArg);
87 cstr.bound(value) ==
88 cstr.getExpr(initArg) + AffineExpr(tripCountExpr * oneIterAdvanceExpr);
92 ValueBoundsConstraintSet &cstr) const {
97 cstr.bound(value) >= forOp.getLowerBound();
98 cstr.bound(value) < forOp.getUpperBound();
103 populateIterArgBounds(forOp, value, std::nullopt, cstr);
107 ValueBoundsConstraintSet &cstr) const {
110 populateIterArgBounds(forOp, value, dim, cstr);
119 ValueBoundsConstraintSet &cstr) const {
130 AffineExpr lb = cstr.getExpr(forallOp.getMixedLowerBound()[idx]);
131 AffineExpr ub = cstr.getExpr(forallOp.getMixedUpperBound()[idx]);
132 cstr.bound(value) >= lb;
133 cstr.bound(value) < ub;
137 ValueBoundsConstraintSet &cstr) const {
151 cstr.bound(value)[dim] == cstr.getExpr(outputOperand, dim);
160 ValueBoundsConstraintSet &cstr) {
165 auto boundsBuilder = cstr.bound(value);
173 if (cstr.populateAndCompare(
178 cstr.bound(value)[*dim] >= cstr.getExpr(thenValue, dim);
179 cstr.bound(value)[*dim] <= cstr.getExpr(elseValue, dim);
181 cstr.bound(value) >= thenValue;
182 cstr.bound(value) <= elseValue;
188 if (cstr.populateAndCompare(
193 cstr.bound(value)[*dim] >= cstr.getExpr(elseValue, dim);
194 cstr.bound(value)[*dim] <= cstr.getExpr(thenValue, dim);
196 cstr.bound(value) >= elseValue;
197 cstr.bound(value) <= thenValue;
203 ValueBoundsConstraintSet &cstr) const {
204 populateBounds(cast<IfOp>(op), value, /*dim=*/std::nullopt, cstr);
208 ValueBoundsConstraintSet &cstr) const {
209 populateBounds(cast<IfOp>(op), value, dim, cstr);