Skip to documentation
SLOP

tiny.choir.ir.dialects

Reference tiny.choir ir dialects

Defined in ir.

API (57)

Actions

Public operations.

Types and contracts

Public types and contracts.

Namespaces

Public namespaces.

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

Source

Source: lib/choir/src/core/dialects/spec.zig:35

zig
pub const AttributeSpec = struct {    name: []const u8,    storage: AttributeStorage = .any,};

Source: lib/choir/src/core/dialects/spec.zig:27

zig
pub const AttributeStorage = union(enum) {    any,    i64,    bool,    string,    dialect: []const u8,};

Source: lib/choir/src/core/dialects/spec.zig:657

zig
pub const DialectSpec = struct {    name: []const u8,    operations: []const OperationSpec = &.{},    types: []const TypeSpec = &.{},    dialect_attributes: []const []const u8 = &.{},    interfaces: []const interfaces.InterfaceEntry = &.{},    op_interface_fallbacks: []const OpInterfaceFallbackEntry = &.{},    type_interface_fallbacks: []const TypeInterfaceFallbackEntry = &.{},};

Source: lib/choir/src/core/dialects/spec.zig:667

zig
pub const DialectSpecOptions = struct {    types: []const TypeSpec = &.{},    dialect_attributes: []const []const u8 = &.{},    interfaces: []const interfaces.InterfaceEntry = &.{},    op_interface_fallbacks: []const OpInterfaceFallbackEntry = &.{},    type_interface_fallbacks: []const TypeInterfaceFallbackEntry = &.{},};

Source: lib/choir/src/core/dialects/spec.zig:40

zig
pub const OperationSpec = struct {    name: []const u8,    traits: interfaces.OperationTraits = .{},    shape: interfaces.OperationShape = .{},    operand_names: []const []const u8 = &.{},    result_names: []const []const u8 = &.{},    region_names: []const []const u8 = &.{},    successor_names: []const []const u8 = &.{},    inherent_attribute_names: []const []const u8 = &.{},    required_attribute_names: []const []const u8 = &.{},    attribute_specs: []const AttributeSpec = &.{},    operand_segments: ?interfaces.OperationSegmentSpec = null,    result_segments: ?interfaces.OperationSegmentSpec = null,    operand_type_constraints: []const interfaces.OperationTypeConstraint = &.{},    result_type_constraints: []const interfaces.OperationTypeConstraint = &.{},    properties_model: ?interfaces.OperationPropertiesModel = null,    interfaces: []const interfaces.InterfaceEntry = &.{},    dynamic_traits: []const OperationTraitSpec = &.{},};

Source: lib/choir/src/core/dialects/spec.zig:21

zig
pub const OperationTraitSpec = struct {    id: interfaces.TraitId,    entry: ?interfaces.TraitEntry = null,    traits: interfaces.OperationTraits = .{},};

Source: lib/choir/src/core/dialects/spec.zig:652

zig
pub const TypeSpec = struct {    name: []const u8,    interfaces: []const interfaces.InterfaceEntry = &.{},};

Source: lib/choir/src/core/dialects/spec.zig:675

zig
pub fn dialectSpec(comptime DialectType: type, comptime options: DialectSpecOptions) DialectSpec {    if (!@hasDecl(DialectType, "name")) @compileError("dialect type must declare name");    return .{        .name = DialectType.name,        .operations = operations(DialectType),        .types = options.types,        .dialect_attributes = options.dialect_attributes,        .interfaces = options.interfaces,        .op_interface_fallbacks = options.op_interface_fallbacks,        .type_interface_fallbacks = options.type_interface_fallbacks,    };}
Called byCallstest sourcelib.choir.src.core.dialects.spectest: DialectSpec derives verifier an...test sourcelib.choir.src.core.dialects.spectest: DialectSpec registers operation...test sourcelib.choir.src.core.dialects.spectest: loadDialectSpec registers diale...test sourcelib.choir.src.core.dialects.spectest: operationTemplate carries verif...test sourcelib.choir.src.core.dialects.spectest: operationTemplate explicit leaf...+12 moreir.dialectsoperationsir.dialectsdialectSpec
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2580

zig
pub fn loadDialectSpec(ctx: *Context, spec: DialectSpec) !void {    if (dialectSpecLoaded(ctx, spec)) return;    try ensureDialectSpecLoaded(ctx, spec);    try ctx.prepareDialectLoadRecordStorage(spec.name, spec.operations.len, spec.types.len);    try registerDialectAttributes(ctx, spec.dialect_attributes);    try ctx.registerOperationBatch(spec.operations);    for (spec.operations) |op| try registerOperationDetails(ctx, op);    try ctx.registerTypeBatch(spec.types);    for (spec.types) |typ| {        for (typ.interfaces) |entry| {            ctx.registerTypeInterface(typ.name, entry) catch |err| switch (err) {                error.DuplicateInterface => {},                else => return err,            };        }    }    for (spec.interfaces) |entry| {        ctx.registerDialectInterface(spec.name, entry) catch |err| switch (err) {            error.DuplicateInterface => {},            else => return err,        };    }    for (spec.op_interface_fallbacks) |entry| {        ctx.registerDialectOpInterfaceFallback(spec.name, entry.id, entry.fallback) catch |err| switch (err) {            error.DuplicateInterface => {},            else => return err,        };    }    for (spec.type_interface_fallbacks) |entry| {        ctx.registerDialectTypeInterfaceFallback(spec.name, entry.id, entry.fallback) catch |err| switch (err) {            error.DuplicateInterface => {},            else => return err,        };    }}
Called byCallstest sourcelib.choir.src.core.dialects.spectest: DialectSpec derives verifier an...test sourcelib.choir.src.core.dialects.spectest: DialectSpec registers operation...test sourcelib.choir.src.core.dialects.spectest: dialect operation batch merges ...test sourcelib.choir.src.core.dialects.spectest: direct dialect operation batch ...test sourcelib.choir.src.core.dialects.spectest: direct dialect spec loading cle...+16 moreprivate sourcelib.choir.src.core.dialects.specdialectSpecLoadedprivate sourcelib.choir.src.core.dialects.specensureDialectSpecLoadedprivate sourcelib.choir.src.core.dialects.specregisterDialectAttributesprivate sourcelib.choir.src.core.dialects.specregisterOperationDetailsir.dialectsloadDialectSpec
Static calls · unresolved targets: 0 · external targets: 7.

Source: lib/choir/src/core/dialects/spec.zig:67

zig
pub fn operand(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) *IrValue {    return op.getOperand(operandIndex(spec, component_name)).?;}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialects.operationTemplateexplicitTerminatorir.dialectsoperandIndexir.dialectsoperand
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:154

zig
pub fn operandIndex(comptime spec: OperationSpec, comptime component_name: []const u8) usize {    return componentIndex(spec.operand_names, "operand", component_name);}
Called byCallsir.dialectsoperandir.dialectsoperandSegmentValuesir.dialectsoptionalOperandtest sourcelib.choir.src.core.dialects.spectest: opSpec names components indepen...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL accept...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL export...private sourcelib.choir.src.core.dialects.speccomponentIndexir.dialectsoperandIndex
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:133

zig
pub fn operandSegmentValue(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*IrValue {    const values = operandSegmentValues(spec, op, component_name) orelse return null;    if (values.len != 1) return null;    return values[0];}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialects.operationTemplateexplicitTerminatortest sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectsoperandSegmentValuesir.dialectsoperandSegmentValue
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:124

zig
pub fn operandSegmentValues(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?[]const *IrValue {    const segment_spec = spec.operand_segments orelse @compileError("operation has no operand segments: " ++ spec.name);    const index = comptime operandIndex(spec, component_name);    const bounds = segmentBounds(segment_spec, op, index) orelse return null;    if (bounds.offset > op.operand_values.len) return null;    if (bounds.size > op.operand_values.len - bounds.offset) return null;    return op.operand_values[bounds.offset .. bounds.offset + bounds.size];}
Called byCallsir.dialectsoperandSegmentValueir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialects.operationTemplateexplicitTerminatortest sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectsoperandIndexprivate sourcelib.choir.src.core.dialects.specsegmentBoundsir.dialectsoperandSegmentValues
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2437

zig
pub fn operation(comptime OpType: type) OperationSpec {    return operationSpecWithName(operationNameFor(OpType), OpType);}
Called byCallsprivate sourcelib.choir.src.core.dialects.specoperation spec storageir.dialectsoperationNameForprivate sourcelib.choir.src.core.dialects.specoperationSpecWithNameir.dialectsoperation
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:1345

zig
pub fn operationAttribute(comptime spec: OperationSpec, comptime attr_name: []const u8) AttributeSpec {    inline for (spec.attribute_specs) |attribute_spec| {        if (comptime std.mem.eql(u8, attribute_spec.name, attr_name)) return attribute_spec;    }    @compileError("unknown operation attribute: " ++ attr_name);}
Called byCallsNo direct callsir.dialectsoperationDialectAttributeNametest sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL carrie...private sourcelib.choir.src.core.dialects.specvalidateOperationAttributeStorageir.dialectsoperationAttribute
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:1352

zig
pub fn operationDialectAttributeName(comptime spec: OperationSpec, comptime attr_name: []const u8) []const u8 {    const attribute_spec = comptime operationAttribute(spec, attr_name);    return switch (attribute_spec.storage) {        .dialect => |dialect_attr_name| dialect_attr_name,        .any => @compileError("operation attribute does not declare dialect storage: " ++ attr_name),        else => @compileError("operation attribute is not dialect-backed: " ++ attr_name),    };}
Called byCallsprivate sourcelib.choir.src.core.dialects.specoperationAttributeAccessorstest sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL carrie...ir.dialectsoperationAttributeir.dialectsoperationDialectAttributeName
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:688

zig
pub fn operationName(comptime dialect_name: []const u8, comptime mnemonic: []const u8) []const u8 {    if (dialect_name.len == 0) @compileError("dialect name cannot be empty");    if (mnemonic.len == 0) @compileError("operation mnemonic cannot be empty");    return dialect_name ++ "." ++ mnemonic;}
Called byCallsNo direct callsir.dialectsoperationNamesprivate sourcelib.choir.src.core.dialects.spec.operationTem...binaryFixedResultImplprivate sourcelib.choir.src.core.dialects.spec.operationTem...binarySameTypeImplprivate sourcelib.choir.src.core.dialects.spec.operationTem...selectSameTypeImplprivate sourcelib.choir.src.core.dialects.spec.operationTem...ternarySameTypeImpl+5 moreir.dialectsoperationName
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2422

zig
pub fn operationNameFor(comptime OpType: type) []const u8 {    if (@hasDecl(OpType, "operation_name")) return OpType.operation_name;    if (@hasDecl(OpType, "operation_spec")) return OpType.operation_spec.name;    if (nestedOperationSpec(OpType)) |spec| return spec.name;    @compileError("operation type must declare operation_name, operation_spec, or a nested operation template");}
Called byCallsir.dialectsoperationir.dialectsoperationNamestest sourcelib.choir.src.core.dialects.spectest: operationTemplate nested defini...private sourcelib.choir.src.core.dialects.specnestedOperationSpecir.dialectsoperationNameFor
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2410

zig
pub fn operationNames(comptime DialectType: type) type {    return struct {        pub fn name(comptime mnemonic: []const u8) []const u8 {            return operationName(DialectType.name, mnemonic);        }        pub fn state(comptime OpType: type, loc: Location) Operation.State {            return Operation.State.init(operationNameFor(OpType), loc);        }    };}
Called byCallsprivate sourcelib.choir.src.core.dialects.spec.opSpecnamesFortest sourcelib.choir.src.core.dialects.spectest: operationName composes dialect ...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL export...ir.dialectsoperationNameir.dialectsoperationNameForir.dialectsoperationNames
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:2542

zig
pub fn operations(comptime DialectType: type) []const OperationSpec {    const decls = comptime std.meta.declarations(DialectType);    comptime var count: usize = 0;    inline for (decls) |decl_name| {        if (comptime std.mem.eql(u8, decl_name, "spec")) continue;        const decl_value = @field(DialectType, decl_name);        if (comptime isDialectOperationValue(decl_value)) count += 1;    }    return &operation_spec_storage(DialectType, count).values;}
Called byCallsir.dialectsdialectSpecprivate sourcelib.choir.src.core.dialects.specisDialectOperationValueprivate sourcelib.choir.src.core.dialects.specoperation spec storageir.dialectsoperations
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:71

zig
pub fn optionalOperand(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*IrValue {    return op.getOperand(operandIndex(spec, component_name));}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialects.operationTemplateexplicitTerminatorir.dialectsoperandIndexir.dialectsoptionalOperand
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:87

zig
pub fn optionalRegion(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*Region {    return op.getRegion(regionIndex(spec, component_name));}
Called byCallsir.dialects.operationTemplateexplicitir.dialectsregionIndexir.dialectsoptionalRegion
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:79

zig
pub fn optionalResult(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*IrValue {    return op.getResult(resultIndex(spec, component_name));}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialectsresultIndexir.dialectsoptionalResult
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:95

zig
pub fn optionalSuccessor(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*Block {    return op.getSuccessor(successorIndex(spec, component_name));}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitTerminatorir.dialectssuccessorIndexir.dialectsoptionalSuccessor
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:83

zig
pub fn region(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) *Region {    return op.getRegion(regionIndex(spec, component_name)).?;}
Called byCallsir.dialects.operationTemplateexplicitir.dialectsregionIndexir.dialectsregion
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:162

zig
pub fn regionIndex(comptime spec: OperationSpec, comptime component_name: []const u8) usize {    return componentIndex(spec.region_names, "region", component_name);}
Called byCallsir.dialectsoptionalRegionir.dialectsregiontest sourcelib.choir.src.core.dialects.spectest: opSpec names components indepen...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL accept...private sourcelib.choir.src.core.dialects.speccomponentIndexir.dialectsregionIndex
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:75

zig
pub fn result(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) *IrValue {    return op.getResult(resultIndex(spec, component_name)).?;}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialectsresultIndexir.dialectsresult
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:158

zig
pub fn resultIndex(comptime spec: OperationSpec, comptime component_name: []const u8) usize {    return componentIndex(spec.result_names, "result", component_name);}
Called byCallsir.dialectsoptionalResultir.dialectsresultir.dialectsresultSegmentValuestest sourcelib.choir.src.core.dialects.spectest: opSpec names components indepen...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL accept...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL export...private sourcelib.choir.src.core.dialects.speccomponentIndexir.dialectsresultIndex
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:148

zig
pub fn resultSegmentValue(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?*IrValue {    const values = resultSegmentValues(spec, op, component_name) orelse return null;    if (values.len != 1) return null;    return &values[0];}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeaftest sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectsresultSegmentValuesir.dialectsresultSegmentValue
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:139

zig
pub fn resultSegmentValues(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) ?[]IrValue {    const segment_spec = spec.result_segments orelse @compileError("operation has no result segments: " ++ spec.name);    const index = comptime resultIndex(spec, component_name);    const bounds = segmentBounds(segment_spec, op, index) orelse return null;    if (bounds.offset > op.results.items.len) return null;    if (bounds.size > op.results.items.len - bounds.offset) return null;    return op.results.items[bounds.offset .. bounds.offset + bounds.size];}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitLeafir.dialectsresultSegmentValuetest sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectsresultIndexprivate sourcelib.choir.src.core.dialects.specsegmentBoundsir.dialectsresultSegmentValues
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:113

zig
pub fn segmentSizeAttribute(comptime segment_spec: interfaces.OperationSegmentSpec, ctx: *Context, sizes: []const usize) !Attribute {    if (sizes.len != segment_spec.segments.len) return error.OperationSegmentSizeCountMismatch;    var attrs: [segment_spec.segments.len]Attribute = undefined;    for (sizes, 0..) |size, index| {        if (!segment_spec.segments[index].allows(size)) return error.OperationSegmentSizeOutOfRange;        const value = std.math.cast(i64, size) orelse return error.OperationSegmentSizeOverflow;        attrs[index] = try ctx.getI64Attr(value);    }    return ctx.getArrayAttr(attrs[0..]);}
Called byCallsNo direct callsir.dialectssetSegmentSizesir.dialectssegmentSizeAttribute
Static calls · unresolved targets: 0 · external targets: 2.

Source: lib/choir/src/core/dialects/spec.zig:99

zig
pub fn setOperandSegmentSizes(comptime spec: OperationSpec, op: *Operation, sizes: []const usize) !void {    const segment_spec = spec.operand_segments orelse @compileError("operation has no operand segments: " ++ spec.name);    try setSegmentSizes(segment_spec, op, sizes);}
Called byCallstest sourcelib.choir.src.core.dialects.spectest: operationTemplate explicit leaf...test sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectssetSegmentSizesir.dialectssetOperandSegmentSizes
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:104

zig
pub fn setResultSegmentSizes(comptime spec: OperationSpec, op: *Operation, sizes: []const usize) !void {    const segment_spec = spec.result_segments orelse @compileError("operation has no result segments: " ++ spec.name);    try setSegmentSizes(segment_spec, op, sizes);}
Called byCallstest sourcelib.choir.src.core.dialects.spectest: operationTemplate explicit leaf...test sourcelib.choir.src.core.dialects.spectest: operation segment helpers set a...ir.dialectssetSegmentSizesir.dialectssetResultSegmentSizes
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:109

zig
pub fn setSegmentSizes(comptime segment_spec: interfaces.OperationSegmentSpec, op: *Operation, sizes: []const usize) !void {    try op.setAttr(segment_spec.attribute_name, try segmentSizeAttribute(segment_spec, op.getContext(), sizes));}
Called byCallsir.dialectssetOperandSegmentSizesir.dialectssetResultSegmentSizesir.dialectssegmentSizeAttributeir.dialectssetSegmentSizes
Static calls · unresolved targets: 0 · external targets: 2.

Source: lib/choir/src/core/dialects/spec.zig:91

zig
pub fn successor(comptime spec: OperationSpec, op: *Operation, comptime component_name: []const u8) *Block {    return op.getSuccessor(successorIndex(spec, component_name)).?;}
Called byCallsir.dialects.operationTemplateexplicitir.dialects.operationTemplateexplicitTerminatorir.dialectssuccessorIndexir.dialectssuccessor
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/choir/src/core/dialects/spec.zig:166

zig
pub fn successorIndex(comptime spec: OperationSpec, comptime component_name: []const u8) usize {    return componentIndex(spec.successor_names, "successor", component_name);}
Called byCallsir.dialectsoptionalSuccessorir.dialectssuccessortest sourcelib.choir.src.core.dialects.spectest: opSpec names components indepen...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL accept...private sourcelib.choir.src.core.dialects.speccomponentIndexir.dialectssuccessorIndex
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2429

zig
pub fn trait(comptime Trait: type) OperationTraitSpec {    return .{        .id = Trait.id,        .entry = Trait.entry(),        .traits = if (@hasDecl(Trait, "traits")) Trait.traits else .{},    };}
Called byCallsNo direct callsprivate sourcelib.choir.src.core.dialects.spec.opSpecasElementprivate sourcelib.choir.src.core.dialects.spec.opSpecterminatorOptionsFromDecltest sourcelib.choir.src.core.dialects.spectest: DialectSpec registers operation...test sourcelib.choir.src.core.dialects.spectest: operation descriptor DSL accept...ir.dialectstrait
Static calls · unresolved targets: 1 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2553

zig
pub fn typeName(name: []const u8) TypeSpec {    return .{ .name = name };}
Called byCallsNo direct callsprivate sourcelib.choir.src.core.dialects.spectypeSpecFromValueir.dialectstypeName
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/spec.zig:2557

zig
pub fn typeNames(comptime Names: type) []const TypeSpec {    const decls = comptime std.meta.declarations(Names);    comptime var count: usize = 0;    inline for (decls) |decl_name| {        const decl_value = @field(Names, decl_name);        if (comptime typeSpecFromValue(decl_value) != null) count += 1;    }    const values = comptime blk: {        var out: [count]TypeSpec = undefined;        var index: usize = 0;        for (decls) |decl_name| {            const decl_value = @field(Names, decl_name);            if (typeSpecFromValue(decl_value)) |spec| {                out[index] = spec;                index += 1;            }        }        break :blk out;    };    return &values;}
Called byCallstest sourcelib.choir.src.core.dialects.spectest: DialectSpec registers operation...private sourcelib.choir.src.core.dialects.spectypeSpecFromValueir.dialectstypeNames
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/core/dialects/root.zig

zig
const spec = @import("spec.zig");pub const registry = @import("registry.zig");pub const DialectLoaderFn = registry.DialectLoaderFn;pub const DialectExtensionFn = registry.DialectExtensionFn;pub const DialectRegistryEntry = registry.DialectRegistryEntry;pub const DialectRegistrySpec = registry.DialectRegistrySpec;pub const OpInterfaceFallbackFn = registry.OpInterfaceFallbackFn;pub const OpInterfaceFallbackEntry = registry.OpInterfaceFallbackEntry;pub const TypeInterfaceFallbackFn = registry.TypeInterfaceFallbackFn;pub const TypeInterfaceFallbackEntry = registry.TypeInterfaceFallbackEntry;pub const DialectLoadState = registry.DialectLoadState;pub const Dialect = registry.Dialect;pub const DialectRegistry = registry.DialectRegistry;pub const OperationTraitSpec = spec.OperationTraitSpec;pub const AttributeStorage = spec.AttributeStorage;pub const AttributeSpec = spec.AttributeSpec;pub const OperationSpec = spec.OperationSpec;pub const operand = spec.operand;pub const optionalOperand = spec.optionalOperand;pub const result = spec.result;pub const optionalResult = spec.optionalResult;pub const region = spec.region;pub const optionalRegion = spec.optionalRegion;pub const successor = spec.successor;pub const optionalSuccessor = spec.optionalSuccessor;pub const setOperandSegmentSizes = spec.setOperandSegmentSizes;pub const setResultSegmentSizes = spec.setResultSegmentSizes;pub const setSegmentSizes = spec.setSegmentSizes;pub const segmentSizeAttribute = spec.segmentSizeAttribute;pub const operandSegmentValues = spec.operandSegmentValues;pub const operandSegmentValue = spec.operandSegmentValue;pub const resultSegmentValues = spec.resultSegmentValues;pub const resultSegmentValue = spec.resultSegmentValue;pub const operandIndex = spec.operandIndex;pub const resultIndex = spec.resultIndex;pub const regionIndex = spec.regionIndex;pub const successorIndex = spec.successorIndex;pub const attribute = spec.attribute;pub const TypeSpec = spec.TypeSpec;pub const DialectSpec = spec.DialectSpec;pub const DialectSpecOptions = spec.DialectSpecOptions;pub const dialectSpec = spec.dialectSpec;pub const operationName = spec.operationName;pub const shape = spec.shape;pub const segments = spec.segments;pub const opSpec = spec.opSpec;pub const typeConstraint = spec.typeConstraint;pub const operationAttribute = spec.operationAttribute;pub const operationDialectAttributeName = spec.operationDialectAttributeName;pub const operationTemplate = spec.operationTemplate;pub const operationNames = spec.operationNames;pub const operationNameFor = spec.operationNameFor;pub const trait = spec.trait;pub const operation = spec.operation;pub const operations = spec.operations;pub const typeName = spec.typeName;pub const typeNames = spec.typeNames;pub const loadDialectSpec = spec.loadDialectSpec;

Source: lib/choir/src/core/root.zig:37

zig
pub const dialects = @import("dialects/root.zig");

Also reachable as

backends.wasm.emission.module_encoding.common.ir.dialects.

Complete caller list for ir.dialects.dialectSpec

17 direct callers.

Complete caller list for ir.dialects.loadDialectSpec

21 direct callers.

Complete caller list for ir.dialects.operationName

10 direct callers.

Audit

Definitions40
Public names80
Members41
Version26.7.0
Revisiondaab053ee433