diff --git a/loopy/symbolic.py b/loopy/symbolic.py index a83db407fcc616918339610d6a1d368ce1c74dea..cef32851f7578c946a7e26f672dbcceb588a9edd 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -1287,7 +1287,10 @@ class AccessRangeMapper(WalkMapper): self.access_range = self.access_range | access_range def map_linear_subscript(self, expr, inames): - self.bad_subscripts.append(expr) + self.rec(expr.index, inames) + + if expr.aggregate.name == self.arg_name: + self.bad_subscripts.append(expr) def map_reduction(self, expr, inames): return WalkMapper.map_reduction(self, expr, inames | set(expr.inames))