KhronosGroup / KhronosGroup/SPIRV-Tools
Instruction::IsOpcodeCodeMotionSafe should also cover GLSL and OpenCL extended instructions
Open
component:optimization
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
It would be a shame for loop-invariant-code-motion to fail when using something like GLSL's Log or FAbs instructions.
Contributor guide
Research direction
Start by locating Instruction::IsOpcodeCodeMotionSafe and the loop-invariant-code-motion handling for extended instructions. Trace how GLSL Log and FAbs, along with OpenCL extended instructions, are classified, then verify that code motion no longer fails for those cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100