pub struct RegDiversions { /* private fields */ }
Expand description

Keep track of diversions in an EBB.

Implementations§

Create a new empty diversion tracker.

Clear the tracker, preparing for a new EBB.

Are there any diversions?

Get the current diversion of value, if any.

Get all current diversions.

Get the current location for value. Fall back to the assignment map for non-diverted values

Get the current register location for value, or panic if value isn’t in a register.

Get the current stack location for value, or panic if value isn’t in a stack slot.

Record any kind of move.

The from location must match an existing to location, if any.

Record a register -> register move.

Record a register -> stack move.

Record a stack -> register move.

Apply the effect of inst.

If inst is a regmove, regfill, or regspill instruction, update the diversions to match.

Drop any recorded move for value.

Returns the to location of the removed diversion.

Return an object that can display the diversions.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.