Skip to content

buffer.assume.alignment

buffer dialect

Refine existing buffer roots with an explicit minimum byte alignment contract. The result preserves the same storage identity, extent, memory-space, alias, and nullability facts while strengthening the root base alignment fact.

Operation contract

Property Value
Semantic phase executable
Traits Pure, FactIdentity

Signature

Kind Name Type Cardinality Description
Operand buffers buffer variadic Buffer roots to refine.
Result results buffer variadic Same buffer roots with refined alignment.
Attribute minimum_alignment i64 required Minimum byte alignment guaranteed for each root storage base.

Verification constraints

  • VariadicValuesMatch(buffers, results)

Examples

%aligned = buffer.assume.alignment %buffer {minimum_alignment = 16} : buffer
%lhs_a, %rhs_a = buffer.assume.alignment %lhs, %rhs {minimum_alignment = 16} : buffer, buffer