pub struct Program { /* private fields */ }Implementations§
Source§impl Program
impl Program
pub fn new(params: &FwParameters) -> Self
pub fn params(&self) -> FwParameters
pub fn op_cfg(&self) -> OpCfg
pub fn op_name(&self) -> Option<String>
pub fn set_op(&mut self, opname: &str)
pub fn push_comment(&mut self, comment: String)
pub fn var_from(&mut self, from: Option<VarPos>) -> MetaVarCell
pub fn new_var(&mut self) -> MetaVarCell
Sourcepub fn new_imm(&mut self, imm: usize) -> MetaVarCell
pub fn new_imm(&mut self, imm: usize) -> MetaVarCell
Easy way to create new imm value
Sourcepub fn new_cst(&mut self, cst: usize) -> MetaVarCell
pub fn new_cst(&mut self, cst: usize) -> MetaVarCell
Easy way to create constant backed in register
Sourcepub fn iop_template_var(
&mut self,
kind: OperandKind,
pos_id: u8,
) -> Vec<MetaVarCell>
pub fn iop_template_var( &mut self, kind: OperandKind, pos_id: u8, ) -> Vec<MetaVarCell>
Create templated arguments kind is used to specify if it’s bind to src/dst or immediate template pos_id is used to bind the template to an IOp operand position
pub fn push_stmt(&mut self, asm: DOp) -> StmtLink
Source§impl Program
impl Program
Sourcepub fn reg_pop(&self, rid: &RegId) -> Option<MetaVarCellWeak>
pub fn reg_pop(&self, rid: &RegId) -> Option<MetaVarCellWeak>
Removes the given register from use
Sourcepub fn reg_put(&self, rid: RegId, meta: Option<MetaVarCellWeak>)
pub fn reg_put(&self, rid: RegId, meta: Option<MetaVarCellWeak>)
Adds the given register for use
pub fn atomic_reg_range(&self, ranges: &[AtomicRegType]) -> Option<Vec<RegId>>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Program
impl !RefUnwindSafe for Program
impl !Send for Program
impl !Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
impl !UnwindSafe for Program
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more