tiny.choir.ir.traits.SameOperandsAndResultType
Defined in ir.traits.
API (4)
Actions
Public operations.
Values and defaults
Public values and defaults.
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
| Definitions | 5 |
|---|---|
| Public names | 10 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |