Skip to documentation
SLOP

tiny.choir.backends.wasm.emission.types

Reference tiny.choir backends wasm emission types

Defined in backends.wasm.emission.

API (4)

Actions

Public operations.

Types and contracts

Public types and contracts.

No direct callersNo direct callsbackends.wasm.emissiontypes
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callsprivate sourcelib.choir.src.backends.wasm.emission.function...Encoderbackends.wasm.emission.function.instruction.a...writeBinarybackends.wasm.emission.function.instruction.a...writeCmpbackends.wasm.emission.function.instruction.a...writeConstantprivate sourcelib.choir.src.backends.wasm.emission.function...writeUnary+2 morebackends.wasm.emission.typesscalarKindForType
Static calls · unresolved targets: 0 · external targets: 2.
Called byCallsNo direct callsprivate sourcelib.choir.src.backends.wasm.emission.inspectioninspectTypesprivate sourcelib.choir.src.backends.wasm.emission.plan.pla...addValueprivate sourcelib.choir.src.backends.wasm.emission.plan.pla...typesNeedMemorybackends.wasm.emission.typeswasmTypeForTypebackends.wasm.emission.typestypeIsMemref
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallsbackends.wasm.emission.inspectioninspectprivate sourcelib.choir.src.backends.wasm.emission.inspectioninspectBlockprivate sourcelib.choir.src.backends.wasm.emission.inspectioninspectTypesbackends.wasm.emission.module_encoding.commonwriteTypeVectorprivate sourcelib.choir.src.backends.wasm.emission.plan.pla...addValuebackends.wasm.emission.typesscalarKindForTypebackends.wasm.emission.typestypeIsMemrefbackends.wasm.emission.typeswasmTypeForType
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/choir/src/backends/wasm/emission/root.zig:12

zig
pub const types = @import("types.zig");

Source: lib/choir/src/backends/wasm/emission/types.zig

zig
const std = @import("std");const binary = @import("../binary/root.zig");const ir = @import("../../../core/root.zig");const dialects = @import("../../../dialects/root.zig");const MemrefDialect = dialects.MemrefDialect;pub const Error = error{CodeGenFailed};pub fn typeIsMemref(typ: ir.Type) bool {    const type_name = typ.getDialectTypeName() orelse return false;    return std.mem.eql(u8, type_name, MemrefDialect.name);}pub fn wasmTypeForType(typ: ir.Type) Error!binary.ValueType {    if (typeIsMemref(typ)) return .i32;    const scalar = scalarKindForType(typ) orelse return error.CodeGenFailed;    return switch (scalar) {        .i8, .i16, .i32, .u8, .u16, .u32, .index, .bool => .i32,        .i64, .u64 => .i64,        .f32 => .f32,        .f64 => .f64,        .f16, .bf16 => error.CodeGenFailed,    };}pub fn scalarKindForType(typ: ir.Type) ?dialects.arith.ScalarKind {    const type_name = typ.getDialectTypeName() orelse return null;    return dialects.arith.scalarKindFromTypeName(type_name);}

Complete caller list for backends.wasm.emission.types.scalarKindForType

7 direct callers.

Audit

Definitions5
Public names5
Members1
Version26.7.0
Revisiondaab053ee433