Change loop step to be a positive integral constant
Changing this per discussion on mlir-team. Spec updated.
PiperOrigin-RevId: 214868483
diff --git a/lib/Analysis/LoopAnalysis.cpp b/lib/Analysis/LoopAnalysis.cpp
index fa283ae..f4e607e 100644
--- a/lib/Analysis/LoopAnalysis.cpp
+++ b/lib/Analysis/LoopAnalysis.cpp
@@ -66,13 +66,12 @@
auto *cExpr = dyn_cast<AffineConstantExpr>(loopSpanExpr);
if (!cExpr)
- return AffineBinaryOpExpr::getCeilDiv(loopSpanExpr, std::abs(step),
- context);
+ return AffineBinaryOpExpr::getCeilDiv(loopSpanExpr, step, context);
loopSpan = cExpr->getValue();
}
// 0 iteration loops.
- if ((loopSpan < 0 && step >= 1) || (loopSpan > 0 && step <= -1))
+ if (loopSpan < 0)
return 0;
return AffineConstantExpr::get(