Skip to content

spirv-fuzz: Account for unreachable loop merge blocks when making functions livesafe #3162

@afd

Description

@afd

Making a function livesafe involves adding a branch from a loop's back-edge block to the loop's merge if the number of loop iterations exceeds some limit. If the loop's merge block was unreachable, the new edge could be a problem, e.g. because the previously unreachable block might now be dominated, and might not be in the right position in the module for this.

A possible solution to this is to branch to a new block and have that new block return.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions