Definition Use chains have some confusing implementation when looking backwards at the RHS of an assignment.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start with the Definition Use Chains implementation and the discussion in PR #3492, then inspect the corresponding handling for UnsupportedTypes. Use the existing dependency tests, especially those involving loops, to understand the current results and confirm that the revised code or comments explain RHS handling without changing dependencies.
Written by the indexing model from the issue text.
Description
In #3492 It has become apparent that some of the code in the Definition Use Chains is not understood (particularly since the changes to handle multiple inputs), and the comments don't really explain what is happening (see https://github.com/stfc/PSyclone/pull/3492#discussion_r3756885980). It would be good to look at improving either the code or comments that explain this, and also the corresponding section for UnsupportedTypes.
Removing this code entirely is not an option, as many of the tests (mostly involving loops) start finding the wrong dependencies at that point, but the way it behaves means (in particular) the order of results for loops is confusing (to me).
This is all a fun side effect of the tree order meaning searching backwards doesn't automatically find the RHS of an assignment when looking backwards from the LHS, so there are likely a few separate parts of the code that handle the RHS, and the code in question may just avoid duplication of adding the RHS to the code. If so this is not a problem, but it needs to be explained properly in the code.
- Dominant language
- Python
- Stars
- 137
- Forks
- 36
- Avg merge
- 6d 16h
- Merged PRs (30d)
- 18
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stfc/PSyclone
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
frontend: add support for ALOG, ALOG10 and IDInt intrinsics. Specify FLOAT as available on GPU. Openenhancement PSyIR
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
NEMO
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100