Skip to content

Commit befa5cb

Browse files
kaushikcfdinducer
authored andcommitted
avoid mutable arguments in CSEToAssignmentMapper
1 parent 1ed43c6 commit befa5cb

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

loopy/kernel/creation.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,15 +1346,12 @@ def __init__(self, add_assignment):
13461346
self.add_assignment = add_assignment
13471347
self.expr_to_var = {}
13481348

1349-
def map_reduction(self, expr, additional_inames, found):
1349+
def map_reduction(self, expr, additional_inames):
13501350
additional_inames = additional_inames | frozenset(expr.inames)
1351-
found[0] = True
13521351

1353-
return super().map_reduction(
1354-
expr, additional_inames, found)
1352+
return super().map_reduction(expr, additional_inames)
13551353

1356-
def map_common_subexpression(self, expr, additional_inames, found):
1357-
found[0] = True
1354+
def map_common_subexpression(self, expr, additional_inames):
13581355
try:
13591356
return self.expr_to_var[expr.child]
13601357
except KeyError:
@@ -1364,7 +1361,7 @@ def map_common_subexpression(self, expr, additional_inames, found):
13641361
else:
13651362
dtype = None
13661363

1367-
child = self.rec(expr.child, additional_inames, found)
1364+
child = self.rec(expr.child, additional_inames)
13681365
from pymbolic.primitives import Variable
13691366
if isinstance(child, Variable):
13701367
return child
@@ -1428,9 +1425,8 @@ def add_assignment(base_name, expr, dtype, additional_inames):
14281425

14291426
for insn, insn_inames_to_dup in zip(instructions, inames_to_dup):
14301427
if isinstance(insn, MultiAssignmentBase):
1431-
found = [False]
1432-
new_expression = cseam(insn.expression, frozenset(), found)
1433-
if found[0]:
1428+
new_expression = cseam(insn.expression, frozenset())
1429+
if new_expression is not insn.expression:
14341430
new_insns.append(insn.copy(expression=new_expression))
14351431
else:
14361432
new_insns.append(insn)

0 commit comments

Comments
 (0)