@@ -244,27 +244,30 @@ static bool isNonNegativeConstant(AffineExpr expr) {
244244 return constant && constant.getValue () >= 0 ;
245245}
246246
247- bool AffineExpr::isMonotonic () const {
247+ bool AffineExpr::isMonotonicallyIncreasing () const {
248248 switch (getKind ()) {
249249 case AffineExprKind::SymbolId:
250250 case AffineExprKind::DimId:
251251 case AffineExprKind::Constant:
252252 return true ;
253253 case AffineExprKind::Add: {
254254 auto op = llvm::cast<AffineBinaryOpExpr>(*this );
255- return op.getLHS ().isMonotonic () && op.getRHS ().isMonotonic ();
255+ return op.getLHS ().isMonotonicallyIncreasing () &&
256+ op.getRHS ().isMonotonicallyIncreasing ();
256257 }
257258 case AffineExprKind::Mul: {
258259 // One operand must be a non-negative constant.
259260 auto op = llvm::cast<AffineBinaryOpExpr>(*this );
260- return op.getLHS ().isMonotonic () && op.getRHS ().isMonotonic () &&
261+ return op.getLHS ().isMonotonicallyIncreasing () &&
262+ op.getRHS ().isMonotonicallyIncreasing () &&
261263 (isNonNegativeConstant (op.getLHS ()) ||
262264 isNonNegativeConstant (op.getRHS ()));
263265 }
264266 case AffineExprKind::FloorDiv:
265267 case AffineExprKind::CeilDiv: {
266268 auto op = llvm::cast<AffineBinaryOpExpr>(*this );
267- return op.getLHS ().isMonotonic () && isNonNegativeConstant (op.getRHS ());
269+ return op.getLHS ().isMonotonicallyIncreasing () &&
270+ isNonNegativeConstant (op.getRHS ());
268271 }
269272 case AffineExprKind::Mod:
270273 return false ;
0 commit comments