KhronosGroup / KhronosGroup/SPIRV-Tools
spirv-fuzz: Consider whether pointers derived from pointers that have the PointeeValueIsIrrelevant fact should also get the fact
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
The PointeeValueIsIrrelevant fact allows tracking when a variable or function parameter was added by the fuzzer. This means it can be written to arbitrarily and can be passed as a function argument to an injected function (which might write through it, hence why we don't want to pass the module's original variables).
The fact was restricted to variables and parameters due to this parameter passing use case. But actually it could make sense for pointers obtained via access chains and object copies to also get this property.
For example, when an OpCopyObject is applied to an id that has this fact, the resulting id should get the fact; when an access chain is made from an id with this fact the resulting id should get the fact.
Contributor guide
Assessment
This issue has not been assessed yet.