pub struct MInstr {
pub opcode: MOpcode,
pub dst: Option<VReg>,
pub operands: Vec<MOperand>,
pub phys_uses: Vec<PReg>,
pub clobbers: Vec<PReg>,
pub debug_loc: Option<DebugLoc>,
}Expand description
A single machine instruction.
Fields§
§opcode: MOpcodeTarget-specific opcode.
dst: Option<VReg>Output (destination) virtual register, if any.
operands: Vec<MOperand>Input operands (source registers, immediates, branch targets).
phys_uses: Vec<PReg>Physical registers that must hold specific values before this instruction (e.g. argument registers at a call site).
clobbers: Vec<PReg>Physical registers whose values are destroyed by this instruction (e.g. caller-saved regs clobbered by a call).
debug_loc: Option<DebugLoc>Source debug location associated with this machine instruction.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MInstr
impl RefUnwindSafe for MInstr
impl Send for MInstr
impl Sync for MInstr
impl Unpin for MInstr
impl UnsafeUnpin for MInstr
impl UnwindSafe for MInstr
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