Struct cranelift_codegen::binemit::RegDiversions[][src]

pub struct RegDiversions { /* fields omitted */ }

Keep track of diversions in an EBB.

Methods

impl RegDiversions
[src]

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.

Important traits for &'a [u8]

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