KhronosGroup / KhronosGroup/SPIRV-Tools

reduce: revisit later: simplification of conditional branches and selection constructs

Open
#2,483 0 comments 0 reactions 0 assignees View on GitHub
component:reducer
Dominant language
C++
Stars
1.4k
Forks
709
Avg merge
1d 22h
Merged PRs (30d)
28

Description

Current plan:
1. Simplify conditional branches by making both branch targets the same.
2. Simplify conditional branches with one target (and with no OpSelectionMerge) to just an OpBranch.
3. Simplify selections with a simplified conditional branch by removing the OpSelectionMerge instruction, where possible.

We may want to change this. E.g. 3. could also easily change the conditional branch to an OpBranch.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by reviewing the three-step plan and the proposed alternative for simplifying conditional branches, then clarify which behavior should be adopted; done means an agreed simplification strategy with its scope defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.