tvm_ffi.StructuralMutator#

class tvm_ffi.StructuralMutator(*args, **kwargs)[source]#

Bases: Object

Low-level structural mutator.

This class exposes the mutator object used by structural-map and custom mutation hooks.

Parameters:
__init__(*args, **kwargs)#
Parameters:
Return type:

None

Methods

__init__(*args, **kwargs)

__init_handle_by_constructor__(fconstructor, ...)

Defined in Object as method __init_handle_by_constructor__().

__move_handle_from__(other)

Defined in Object as method __move_handle_from__().

_move()

Defined in Object as method _move().

def_region_kind()

Return the currently active structural def-region kind.

default_mutate(value)

Mutate value using its registered or reflected default behavior.

is_(other)

Defined in Object as method is_().

mutate(value)

Mutate value without modifying it in place.

same_as(other)

Defined in Object as method same_as().

var_remap_get(var)

Return the replacement recorded for a variable identity.

var_remap_set(var, mapped_value)

Record or replace the substitution for a variable identity.

with_def_region_kind(kind, callback)

Run callback with a temporarily active def-region kind.

Attributes

id_

Defined in Object as attribute id_.

mutate(value)[source]#

Mutate value without modifying it in place.

The original value is returned when none of its structural fields change; otherwise, the result is a mutated copy.

Parameters:

value (Any) – Value to mutate.

Return type:

Any

Returns:

result – The mutated owning value.

default_mutate(value)[source]#

Mutate value using its registered or reflected default behavior.

This bypasses the active engine callback for value itself while recursive children re-enter the same mutator. A structural_mutate callback may use it on its matched value to request default descent.

Parameters:

value (Any) – Value whose default mutation should run.

Return type:

Any

Returns:

result – The mutated owning value.

var_remap_get(var)[source]#

Return the replacement recorded for a variable identity.

Parameters:

var (Object) – Variable identity to look up. It must be an object-backed value with free-variable or DAG-node structural metadata.

Return type:

Any | None

Returns:

result – The recorded replacement, or None if var has no replacement.

var_remap_set(var, mapped_value)[source]#

Record or replace the substitution for a variable identity.

Parameters:
  • var (Object) – Variable identity to bind. It must be an object-backed value with free-variable or DAG-node structural metadata.

  • mapped_value (Any) – Replacement returned for subsequent lookups of var.

Return type:

None

def_region_kind()[source]#

Return the currently active structural def-region kind.

Return type:

DefRegionKind

Returns:

kind – The active DefRegionKind.

with_def_region_kind(kind, callback)[source]#

Run callback with a temporarily active def-region kind.

Parameters:
  • kind (int) – Def-region kind to use while running callback.

  • callback (Callable[[], Any]) – Nullary callable to execute inside the scoped region.

Return type:

Any

Returns:

result – The value returned by callback.