AffineMap::isIdentity clean up from previous CL review.
PiperOrigin-RevId: 208891864
diff --git a/lib/IR/AffineMap.cpp b/lib/IR/AffineMap.cpp
index 8dc0d1f..3f640ba 100644
--- a/lib/IR/AffineMap.cpp
+++ b/lib/IR/AffineMap.cpp
@@ -31,10 +31,9 @@
if (getNumDims() != getNumResults())
return false;
ArrayRef<AffineExpr *> results = getResults();
- for (unsigned i = 0; i < getNumDims(); ++i) {
- auto *expr = results[i];
- if (!isa<AffineDimExpr>(expr) ||
- cast<AffineDimExpr>(expr)->getPosition() != i)
+ for (unsigned i = 0, numDims = getNumDims(); i < numDims; ++i) {
+ auto *expr = dyn_cast<AffineDimExpr>(results[i]);
+ if (!expr || expr->getPosition() != i)
return false;
}
return true;