irx.builder.lowering.buffer
irx.builder.lowering.buffer
Source: packages/irx/src/irx/builder/lowering/buffer.py
title: Low-level buffer/view lowering for llvmliteir.
summary: >-
Lower the IRx buffer/view substrate as plain structs and explicit runtime
helper calls without adding a scientific array API.Classes
BufferVisitorMixin(VisitorMixinBase)
title: Buffer/view visitor mixin.Methods
lower_buffer_byte_offset(self, view: ir.Value, indices: list[ir.Value], *, index_nodes: list[astx.AST], bounds_policy: BufferIndexBoundsPolicy=BufferIndexBoundsPolicy.DEFAULT) -> ir.Value
title: Lower one buffer view indexed access to a byte offset.
parameters:
view:
type: ir.Value
indices:
type: list[ir.Value]
index_nodes:
type: list[astx.AST]
bounds_policy:
type: BufferIndexBoundsPolicy
returns:
type: ir.Valuelower_buffer_element_pointer(self, view: ir.Value, indices: list[ir.Value], element_type: astx.DataType, *, index_nodes: list[astx.AST], bounds_policy: BufferIndexBoundsPolicy=BufferIndexBoundsPolicy.DEFAULT) -> ir.Value
title: Lower a buffer view indexed access to a typed element pointer.
parameters:
view:
type: ir.Value
indices:
type: list[ir.Value]
element_type:
type: astx.DataType
index_nodes:
type: list[astx.AST]
bounds_policy:
type: BufferIndexBoundsPolicy
returns:
type: ir.Valuevisit(self, node: astx.BufferViewDescriptor) -> None
title: Visit BufferViewDescriptor nodes.
parameters:
node:
type: astx.BufferViewDescriptorvisit(self, node: astx.BufferViewIndex) -> None
title: Visit BufferViewIndex nodes.
parameters:
node:
type: astx.BufferViewIndexvisit(self, node: astx.BufferViewStore) -> None
title: Visit BufferViewStore nodes.
parameters:
node:
type: astx.BufferViewStorevisit(self, node: astx.BufferViewWrite) -> None
title: Visit BufferViewWrite nodes.
parameters:
node:
type: astx.BufferViewWritevisit(self, node: astx.BufferViewRetain) -> None
title: Visit BufferViewRetain nodes.
parameters:
node:
type: astx.BufferViewRetainvisit(self, node: astx.BufferViewRelease) -> None
title: Visit BufferViewRelease nodes.
parameters:
node:
type: astx.BufferViewRelease