KhronosGroup / KhronosGroup/SPIRV-Tools
Improve use of the vn table analysis.
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
We have added an analysis to the vn table, but it is not used effectively at the moment.
Things that can be done:
- [ ] change redundancy elimination to use the analysis instead of building it won vn table.
- [ ] Keep the vn table up-to-date by assigning a value number to every instruction as they are added to the function. Could be incorporated into Analyze* functions in the IR Context.
- [ ] don't invalidate the analysis when we do not need to.
Contributor guide
Research direction
Start by reading the existing vn table analysis, redundancy elimination, and the Analyze* functions in the IR Context. Determine which of the three listed improvements is in scope and how analysis invalidation currently works. Done means the selected change is implemented and the vn table is used or maintained as described without unnecessary invalidation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100