Skip to content

Commit

Permalink
[dace] replace trivial tasklet by memlet
Browse files Browse the repository at this point in the history
  • Loading branch information
Linus Groner committed Jul 21, 2023
1 parent 5b146d7 commit e4a9ace
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -293,9 +293,13 @@ def visit_Lambda(
result: ValueExpr | SymbolExpr = self.visit(node.expr)[0]
# Forwarding result through a tasklet needed because empty SDFG states don't properly forward connectors
if isinstance(result, ValueExpr):
result = self.add_expr_tasklet([(result, "result")], "result", result.dtype, "forward")[
0
]
result_name = unique_var_name()
self.context.body.add_scalar(result_name, result.dtype, transient=True)
result_access = self.context.state.add_access(result_name)
self.context.state.add_edge(
result.value, None, result_access, None, dace.Memlet(f"{result.value.data}[0]")
)
result = ValueExpr(value=result_access, dtype=result.dtype)
else:
result = self.add_expr_tasklet([], result.value, result.dtype, "forward")[0]
self.context.body.arrays[result.value.data].transient = False
Expand Down

0 comments on commit e4a9ace

Please sign in to comment.