Struct cretonne_codegen::binemit::RegDiversions [] [src]

pub struct RegDiversions { /* fields omitted */ }

Keep track of diversions in an EBB.

Methods

impl RegDiversions
[src]

[src]

Create a new empty diversion tracker.

[src]

Clear the tracker, preparing for a new EBB.

[src]

Are there any diversions?

[src]

Get the current diversion of value, if any.

Important traits for &'a mut [u8]
[src]

Get all current diversions.

[src]

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

[src]

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

[src]

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

[src]

Record any kind of move.

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

[src]

Record a register -> register move.

[src]

Record a register -> stack move.

[src]

Record a stack -> register move.

[src]

Apply the effect of inst.

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

[src]

Drop any recorded move for value.

Returns the to location of the removed diversion.

[src]

Return an object that can display the diversions.

Trait Implementations

Auto Trait Implementations

impl Send for RegDiversions

impl Sync for RegDiversions