Documentation
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.Value
lower_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.Value
visit(self, node: astx.BufferViewDescriptor) -> None
title: Visit BufferViewDescriptor nodes.
parameters:
node:
type: astx.BufferViewDescriptor
visit(self, node: astx.BufferViewIndex) -> None
title: Visit BufferViewIndex nodes.
parameters:
node:
type: astx.BufferViewIndex
visit(self, node: astx.BufferViewStore) -> None
title: Visit BufferViewStore nodes.
parameters:
node:
type: astx.BufferViewStore
visit(self, node: astx.BufferViewWrite) -> None
title: Visit BufferViewWrite nodes.
parameters:
node:
type: astx.BufferViewWrite
visit(self, node: astx.BufferViewRetain) -> None
title: Visit BufferViewRetain nodes.
parameters:
node:
type: astx.BufferViewRetain
visit(self, node: astx.BufferViewRelease) -> None
title: Visit BufferViewRelease nodes.
parameters:
node:
type: astx.BufferViewRelease