Skip to content

UniformityAnalysis could handle more kinds of InstructionUniformity #131779

@jayfoad

Description

@jayfoad

UniformityAnalysis categorizes instructions with a fixed set of InstructionUniformity values: Default, AlwaysUniform and NeverUniform.

It would be nice it if could also handle more complex ways in which the uniformity of an instruction depends on the uniformity of its operands. For example, a lane-permute operation like llvm.amdgcn.permlane64 is uniform if either of its operands (the incoming value or the lane select) is uniform. Maybe targets could override a hook where they could implement arbitrary uniformity-propagation rules like this.

Cc @ssahasra

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions