KhronosGroup / KhronosGroup/SPIRV-Tools

Improve use of the vn table analysis.

Open
#1,543 0 comments 0 reactions 0 assignees View on GitHub
component:optimization
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.