KhronosGroup / KhronosGroup/SPIRV-Registry
Function return uniformity without maximal reconvergence
- Dominant language
- HTML
- Stars
- 149
- Forks
- 99
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 2
Description
With the maximal reconvergence extension, function returns are explicitly marked as reconvergence points. But according to the base spec in section 2.2.5, it is only defined that invocations reconverge at the merge block (assuming control flow was uniform before). So if a function returns inside non-uniform control flow, does the control flow still reconverge at the call site or does it just stay non-uniform for the rest of the program?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing base specification section 2.2.5 alongside the maximal reconvergence extension. Determine the specified behavior for a function return under non-uniform control flow, then record the resolved interpretation in the relevant SPIR-V specification material or issue discussion.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100