KhronosGroup / KhronosGroup/SPIRV-Tools
Enable disassembly in presence of unknown extensions and unknown instructions
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
Requires extending the operand type enum to include "unknown word" concept. The words will not register as IDs, and so aren't tracked as types in the binary parser.
The validator can't know what the values are, and so things like SSA checks could fail. That's life.
Contributor guide
Research direction
Start by tracing disassembly through the operand type enum and binary parser, focusing on how unknown extensions and unknown instructions are represented. Then inspect validator handling, including SSA checks, to determine the expected behavior for values that cannot be identified as types. Done means disassembly works without registering unknown words as IDs while validation handles the resulting unknown values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100