Skip to content

Commit 36cf030

Browse files
committed
Code gen for SubArrayRef: handle empty subscript
x-ref: inducer/pymbolic#224
1 parent 2ace194 commit 36cf030

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

loopy/symbolic.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,8 @@ def _get_lower_bound(iname: str) -> int:
10721072
for swept_iname in sar.swept_inames}
10731073

10741074
result = EvaluatorWithDeficientContext(swept_inames_to_zeros)(sar.subscript)
1075+
# assert isinstance(result, p.Subscript)
1076+
# pending https://github.com/inducer/pymbolic/pull/224
10751077
assert isinstance(result, (p.Variable, p.Subscript))
10761078

10771079
return result

loopy/target/c/codegen/expression.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,11 @@ def map_tagged_variable(self, expr, type_context):
232232
@override
233233
def map_sub_array_ref(self, expr, type_context):
234234
from loopy.symbolic import get_start_subscript_from_sar
235-
return var("&")(self.rec(get_start_subscript_from_sar(expr, self.kernel),
236-
type_context))
235+
if not expr.subscript.index_tuple:
236+
return var("&")(self.rec(expr.subscript.aggregate, type_context))
237+
else:
238+
return var("&")(self.rec(get_start_subscript_from_sar(expr, self.kernel),
239+
type_context))
237240

238241
@override
239242
def map_subscript(self, expr, type_context):

0 commit comments

Comments
 (0)