pub struct Implicit {
pub reg: PReg,
pub kind: ImplicitKind,
}Expand description
An implicit register operand attached to one instruction, beyond those its opcode always has: a call’s argument and return registers, a return’s result registers, a system call’s arguments.
§Examples
use backend_lang::mir::{Effects, Function, ImplicitKind, Operand};
use backend_lang::x86_64::{op, SYSV, RAX};
let mut f = Function::new("f", &SYSV);
let b = f.block()?;
let ret = f.push_with(b, op::RET, &[], Effects::new().uses(&[RAX]))?;
assert_eq!(f.implicit(ret)[0].reg, RAX);
assert_eq!(f.implicit(ret)[0].kind, ImplicitKind::Use);Fields§
§reg: PRegThe register.
kind: ImplicitKindRead or written.
Trait Implementations§
impl Copy for Implicit
impl Eq for Implicit
impl StructuralPartialEq for Implicit
Auto Trait Implementations§
impl Freeze for Implicit
impl RefUnwindSafe for Implicit
impl Send for Implicit
impl Sync for Implicit
impl Unpin for Implicit
impl UnsafeUnpin for Implicit
impl UnwindSafe for Implicit
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