Skip to documentation
SLOP

tiny.choir.ir.traits.SameOperandsAndResultType

Reference tiny.choir ir traits SameOperandsAndResultType

Defined in ir.traits.

API (4)

Actions

Public operations.

Values and defaults

Public values and defaults.

No direct callersNo direct callsir.traitsSameOperandsAndResultType
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/choir/src/core/traits.zig:268

zig
pub const SameOperandsAndResultType = struct {    pub const trait_name = "ir.trait.same_operands_and_result_type";    pub const id: interfaces.TraitId = interfaces.traitId(trait_name);    fn verify(op_ptr: *const anyopaque) anyerror!void {        const op: *const Operation = @ptrCast(@alignCast(op_ptr));        if (op.results.items.len == 0) return TraitError.SameOperandsAndResultTypeMismatch;        if (op.operands.items.len == 0) return TraitError.SameOperandsAndResultTypeMismatch;        const ref_type = op.results.items[0].type;        for (op.results.items) |result| {            if (!result.type.eql(ref_type)) return TraitError.SameOperandsAndResultTypeMismatch;        }        for (op.operands.items) |operand| {            if (!operand.value.type.eql(ref_type)) return TraitError.SameOperandsAndResultTypeMismatch;        }    }    pub const vtable: interfaces.TraitVTable = .{ .verify = verify };    pub fn entry() interfaces.TraitEntry {        return .{ .id = id, .vtable = &vtable };    }};

Also reachable as

backends.wasm.emission.module_encoding.common.ir.traits.SameOperandsAndResultType.

Audit

Definitions5
Public names10
Members0
Version26.7.0
Revisiondaab053ee433