Skip to content

buffer dialect

← Dialect reference

Opaque storage roots and typed view construction.

Property Value
Bytecode dialect ID 0x0c
Registered by default yes
Operations 13

Operations

Operation Summary
buffer.alloca Create a fixed-frame scratch buffer root in an allocatable memory space.
buffer.assume.alignment Refine existing buffer roots with an explicit minimum byte alignment contract.
buffer.assume.memory_space Refine an existing buffer root with a concrete target-independent memory-space fact while preserving the same storage identity, extent, alignment, and nullability facts.
buffer.assume.noalias Refine an existing buffer root with an explicit noalias contract.
buffer.assume.same_root Refine an existing buffer root to share another buffer's storage root.
buffer.compare Lexicographically compare equal-length ranges as unsigned bytes and return canonical i32 -1, 0, or +1.
buffer.copy Copy an exact non-overlapping byte range between buffer roots.
buffer.fill Repeat the raw little-endian bytes of an 8-, 16-, 32-, or 64-bit integer or floating-point scalar across an exact writable byte range.
buffer.length Query the physical byte length of a buffer root without accessing its payload.
buffer.load.i8.u Load one unsigned byte from a buffer root and zero-extend it to the canonical i32 carrier.
buffer.pack Lay out simultaneously live physical byte ranges in one dense slab.
buffer.store.i8 Store the low eight bits of an i32 carrier to one byte in a buffer root.
buffer.view Form a typed non-owning view from an opaque buffer root and base byte offset.