Enum LoopRole

Enum Documentation

enum class sequant::eval::LoopRole

Legality analysis output types of the ordered scheduler: per-value classification of which batch-loop axes a value’s computation depends on, and whether it is legal to home the value at each such axis.

The role a batch-loop axis plays at one value (analyze_legality fills CellLegality::per_axis with these).

Values:

enumerator LoopLocal

a carried axis some occurrence reads in lockstep, inside the loop instance that slices it: the value is built per batch there (and also escapes assembled when another occurrence reads it where that instance is not running, see OccurrenceRole)

enumerator Reduction

the axis is summed (contracted) at or below the value

enumerator LoopCarried

a carried axis no occurrence reads in lockstep: the value is needed only assembled over it

enumerator LoopInvariant

the axis encloses the value but the value does not depend on it (a pure replication context)