mlir.dialects._ub_ops_gen

Attributes

Classes

_Dialect

PoisonOp

The poison operation materializes a compile-time poisoned constant value

UnreachableOp

The unreachable operation triggers immediate undefined behavior if

Functions

poison(→ _ods_ir)

unreachable(→ UnreachableOp)

Module Contents

mlir.dialects._ub_ops_gen._ods_ir
class mlir.dialects._ub_ops_gen._Dialect(descriptor: object)

Bases: _ods_ir

DIALECT_NAMESPACE = 'ub'
class mlir.dialects._ub_ops_gen.PoisonOp(result, *, value=None, loc=None, ip=None)

Bases: _ods_ir

The poison operation materializes a compile-time poisoned constant value to indicate deferred undefined behavior. value attribute is needed to indicate an optional additional poison semantics (e.g. partially poisoned vectors), default value indicates results is fully poisoned.

Examples:

// Short form
%0 = ub.poison : i32
// Long form
%1 = ub.poison <#custom_poison_elements_attr> : vector<4xi64>
OPERATION_NAME = 'ub.poison'
_ODS_REGIONS = (0, True)
value() _ods_ir
result() _ods_ir

Shortcut to get an op result if it has only one (throws an error otherwise).

mlir.dialects._ub_ops_gen.poison(result, *, value=None, loc=None, ip=None) _ods_ir
class mlir.dialects._ub_ops_gen.UnreachableOp(*, loc=None, ip=None)

Bases: _ods_ir

The unreachable operation triggers immediate undefined behavior if executed.

Example:

ub.unreachable
OPERATION_NAME = 'ub.unreachable'
_ODS_REGIONS = (0, True)
mlir.dialects._ub_ops_gen.unreachable(*, loc=None, ip=None) UnreachableOp