Skip to content

Commit c883ff0

Browse files
committed
compiler: cleanup transformer
1 parent 542f7a6 commit c883ff0

2 files changed

Lines changed: 7 additions & 11 deletions

File tree

devito/ir/iet/nodes.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,10 @@ def reads(self):
407407
@cached_property
408408
def write(self):
409409
"""The Function written by the Expression."""
410-
return self.expr.lhs.base.function
410+
try:
411+
return self.expr.rhs.writes[0]
412+
except (AttributeError, IndexError):
413+
return self.expr.lhs.base.function
411414

412415
@cached_property
413416
def dimensions(self):

devito/ir/iet/visitors.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,24 +1326,17 @@ def visit_tuple(self, o, **kwargs):
13261326

13271327
visit_list = visit_tuple
13281328

1329-
def visit_ExpressionBundle(self, o, **kwargs):
1330-
if o in self.mapper:
1331-
handle = self.mapper[o]
1332-
return self.transform(o, handle, **kwargs)
1333-
children = [self._visit(i) for i in o.children]
1334-
if not [i for i in children if i]:
1335-
return None
1336-
return o._rebuild(*children, **o.args_frozen)
1337-
13381329
def visit_Iteration(self, o, **kwargs):
13391330
if o in self.mapper:
13401331
handle = self.mapper[o]
13411332
return self.transform(o, handle, **kwargs)
13421333
children = [self._visit(i) for i in o.children]
1343-
if not [i for i in children if i]:
1334+
if not any(children):
13441335
return None
13451336
return o._rebuild(*children, **o.args_frozen)
13461337

1338+
visit_ExpressionBundle = visit_Iteration
1339+
13471340
def visit_Node(self, o, **kwargs):
13481341
if o in self.mapper:
13491342
handle = self.mapper[o]

0 commit comments

Comments
 (0)