KhronosGroup / KhronosGroup/SPIRV-Tools
spirv-fuzz: Create synonyms for true and false using OpPtrEqual and OpPtrNotEqual
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
We can replace "false" with `OpPtrEqual p q` where we know that p and q point to different data, or with `OpPtrNotEqual` when we know they point to the same data, and we can do dual things for "true".
Two pointers could be derived using access chains involving constants (so that they are known to be identical) that might later get replaced with synonyms, making it less obvious they are constants.
Contributor guide
Research direction
No file, test, or entry point is named. Start by locating the spirv-fuzz transformation code for boolean synonyms and its handling of OpPtrEqual and OpPtrNotEqual; done means covering true and false with known-same and known-different pointer cases, including constant-derived access chains.
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
- Mostly clear
- Newbie friendliness
- 35/100