pub struct Moves(/* private fields */);Expand description
Which instruction each of the allocator’s moves became.
A spill and a copy are both a mov once they are written, and so is an instruction the lowering
wrote that happens to move the same register to the same address. Telling them apart afterwards
by looking at them is guesswork, and a pass that guesses wrong about a store to a volatile
variable deletes a read the program insisted on. So what the allocator asked for is recorded as
it is written, and a later pass that is only allowed to touch the allocator’s own moves has the
list rather than a heuristic. See crate::reload, which is the one pass that reads this.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Moves
impl RefUnwindSafe for Moves
impl Send for Moves
impl Sync for Moves
impl Unpin for Moves
impl UnsafeUnpin for Moves
impl UnwindSafe for Moves
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