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. |