spcl / spcl/dace

Infinite propagation of expressions from simplify

Open
#1,154 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
593
Forks
163
Avg merge
2d 23h
Merged PRs (30d)
60

Description

**Describe the bug**
When a simple assignment from an edge is propagated to a tasklets but is not removed because it is needed somewhere else. Then when another pass of propagation is done it propagates again the same assignment.

**To Reproduce**
Execute simplify on "test.sdfg" will produce the file "simplified.sdfg". After the simplify pass tasklet T9 has multiple times the same variable declaration. When the SDFG is compiled it fails because the variable "dace_i_0" is declared multiple times.
[test.zip](https://github.com/spcl/dace/files/10068840/test.zip)

**Expected behavior**
Do not add again the same code to the tasklet if it was already added. In this case it is actually also safe to remove the assignment on the edge but this is not always the case.

**Desktop (please complete the following information):**
- OS: Fedora Linux 35 (Workstation)
- DaCe: 0.14.1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.