diff --git a/loopy/expression.py b/loopy/expression.py index 94eaf4448f8489f55c3185cc3e3ec121bbb08993..e9f7d8410153f7e4a8ac3317e50aaa1b70baa483 100644 --- a/loopy/expression.py +++ b/loopy/expression.py @@ -323,9 +323,7 @@ class VectorizabilityChecker(RecursiveMapper): if not isinstance(var, ArrayBase): raise LoopyError("non-array subscript '%s'" % expr) - index = expr.index - if not isinstance(index, tuple): - index = (index,) + index = expr.index_tuple from loopy.symbolic import get_dependencies from loopy.kernel.array import VectorArrayDimTag diff --git a/loopy/kernel/data.py b/loopy/kernel/data.py index ed3c40ce9c9fea5e08a7a97027e4ec7ef8ae59d8..66f26a6d95bf093624fc51822d84ac610c71c79b 100644 --- a/loopy/kernel/data.py +++ b/loopy/kernel/data.py @@ -703,11 +703,7 @@ def _get_assignee_and_index(expr): agg = expr.aggregate assert isinstance(agg, Variable) - idx = expr.index - if not isinstance(idx, tuple): - idx = (idx,) - - return (agg.name, idx) + return (agg.name, expr.index_tuple) else: raise RuntimeError("invalid lvalue '%s'" % expr) diff --git a/loopy/symbolic.py b/loopy/symbolic.py index d7a49fb22508c27d0a827189204480ab61cc7132..b3dfce3d6415de67951dd445f3028d4d21c3d040 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -1159,9 +1159,7 @@ class AccessRangeMapper(WalkMapper): if expr.aggregate.name != self.arg_name: return - subscript = expr.index - if not isinstance(subscript, tuple): - subscript = (subscript,) + subscript = expr.index_tuple if not get_dependencies(subscript) <= set(domain.get_var_dict()): self.bad_subscripts.append(expr)