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