KhronosGroup / KhronosGroup/SPIRV-Tools
spirv-fuzz: TransformationAddSynonym: add support for shift operations
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
The TransformationAddSynonym transformation can do things like:
add an instruction %c = OpAdd %b %zero
add a fact that %c and %b are "synonymous" (i.e., they will have the same value)
It could be extended to be able to:
- add an instruction %c = OpShiftRightLogical %b %zero
- add a fact that %c and %b are synonymous
This could also be done for OpShiftRightArithmetic and OpShiftLeftLogical.
Contributor guide
Research direction
Start by locating the TransformationAddSynonym implementation and its existing OpAdd handling. Extend the transformation for OpShiftRightLogical, OpShiftRightArithmetic, and OpShiftLeftLogical, preserving the synonymous-value fact; done means each operation is supported consistently with the existing behavior and its relevant tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100