pub struct Ir {
pub instrs: Vec<Instr>,
pub num_regs: usize,
pub output_reg: Reg,
pub num_inputs: usize,
pub state: StateLayout,
pub builtins: Vec<BuiltinInstance>,
pub params: Vec<ParamDef>,
}Expand description
A complete lowered program.
Fields§
§instrs: Vec<Instr>Instructions in evaluation order.
num_regs: usizeNumber of scratch registers required.
output_reg: RegThe register holding the single program output at sample end.
num_inputs: usizeNumber of program inputs (0 or 1 for MVP).
state: StateLayoutPersistent state layout.
builtins: Vec<BuiltinInstance>Built-in call-site descriptors, indexed by the instance field of
Instr::CallSample/Instr::CallBlock.
params: Vec<ParamDef>Named parameter definitions, indexed by Instr::ReadParam::idx.
Trait Implementations§
impl StructuralPartialEq for Ir
Auto Trait Implementations§
impl Freeze for Ir
impl RefUnwindSafe for Ir
impl Send for Ir
impl Sync for Ir
impl Unpin for Ir
impl UnsafeUnpin for Ir
impl UnwindSafe for Ir
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more