From a4bf021a9e00020e64933cb7624c9bc8195c7bbd Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Tue, 1 Dec 2015 19:04:29 -0600
Subject: [PATCH] Use Subscript.index_tuple in more places

---
 loopy/expression.py  | 4 +---
 loopy/kernel/data.py | 6 +-----
 loopy/symbolic.py    | 4 +---
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/loopy/expression.py b/loopy/expression.py
index 94eaf4448..e9f7d8410 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 ed3c40ce9..66f26a6d9 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 d7a49fb22..b3dfce3d6 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)
-- 
GitLab