@@ -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