tiny.choir.ir.interfaces.effects.EffectOpInterface
Defined in ir.interfaces.effects.
API (5)
Actions
Public operations.
Types and contracts
Public types and contracts.
Values and defaults
Public values and defaults.
Source
Source: lib/choir/src/core/interfaces/effects.zig:214
zig
pub const EffectOpInterface = struct { pub const interface_name = "ir.interface.effects"; pub const id = interfaces.interfaceId(interface_name); pub const VTable = struct { capacity: Capacity, collect: *const fn (*const anyopaque, *Collector) void, }; pub fn entry(vtable: *const VTable) interfaces.InterfaceEntry { return .{ .id = id, .vtable = vtable }; } pub fn entryFor(comptime spec: Spec) interfaces.InterfaceEntry { const Implementation = struct { fn collect(raw: *const anyopaque, collector: *Collector) void { const op: *const ir.Operation = @ptrCast(@alignCast(raw)); collector.complete = spec.complete; for (spec.facts) |fact| collector.append(fact); if (spec.enumerate) |enumerate| enumerate(op, collector); } const vtable = VTable{ .capacity = .{ .entries = spec.facts.len + spec.capacity.entries, .per_operand = spec.capacity.per_operand, .per_result = spec.capacity.per_result, .per_region = spec.capacity.per_region, }, .collect = collect, }; }; return entry(&Implementation.vtable); }};Also reachable as
backends.wasm.emission.module_encoding.common.ir.interfaces.EffectOpInterface, backends.wasm.emission.module_encoding.common.ir.interfaces.effects.EffectOpInterface, ir.interfaces.EffectOpInterface.
Complete caller list for ir.interfaces.EffectOpInterface.entryFor
10 direct callers.
lib.choir.src.backends.x64.regalloc.test_the_ordered_effect_probe_conservatively_refuses_facts_past_its_horizon[function] — test source atlib/choir/src/backends/x64/regalloc.zig:3800in nearest public ownerlib.choir.src.backends.x64.regalloclib.choir.src.core.interfaces.effects.testVerifyWithoutScratch[function] — private source atlib/choir/src/core/interfaces/effects.zig:789in nearest public ownertiny.choir.ir.interfaces.effectslib.choir.src.core.interfaces.effects.test_EffectOpInterface_normal_verifier_reports_malformed_facts_and_OOM_stays_an_error[function] — test source atlib/choir/src/core/interfaces/effects.zig:773in nearest public ownertiny.choir.ir.interfaces.effectslib.choir.src.core.interfaces.effects.test_EffectOpInterface_registers_static_and_dynamic_facts_through_loadDialectSpec[function] — test source atlib/choir/src/core/interfaces/effects.zig:686in nearest public ownertiny.choir.ir.interfaces.effectslib.choir.src.dialects.gpu.dialect.gpuEffects[function] — private source atlib/choir/src/dialects/gpu/dialect.zig:2645in nearest public ownertiny.choir.dialects.gpu.dialectlib.choir.src.dialects.gpu.stage.stageEffects[function] — private source atlib/choir/src/dialects/gpu/stage.zig:210in nearest public ownertiny.choir.dialects.gpu.stagelib.choir.src.dialects.memref.accessEffects[function] — private source atlib/choir/src/dialects/memref.zig:2340in nearest public ownertiny.choir.dialects.memreflib.choir.src.dialects.memref.aliasEffects[function] — private source atlib/choir/src/dialects/memref.zig:2290in nearest public ownertiny.choir.dialects.memreflib.choir.src.dialects.memref.allocationEffects[function] — private source atlib/choir/src/dialects/memref.zig:2085in nearest public ownertiny.choir.dialects.memreflib.choir.src.dialects.rc.ownershipOptions[function] — private source atlib/choir/src/dialects/rc.zig:83in nearest public ownertiny.choir.dialects.rc
Audit
| Definitions | 6 |
|---|---|
| Public names | 24 |
| Members | 2 |
| Version | 26.7.0 |
| Revision | daab053ee433 |