Enum cranelift_codegen::ir::stackslot::StackSlotKind[][src]

pub enum StackSlotKind {
    SpillSlot,
    ExplicitSlot,
    IncomingArg,
    OutgoingArg,
    EmergencySlot,
}

The kind of a stack slot.

Variants

A spill slot. This is a stack slot created by the register allocator.

An explicit stack slot. This is a chunk of stack memory for use by the stack_load and stack_store instructions.

An incoming function argument.

If the current function has more arguments than fits in registers, the remaining arguments are passed on the stack by the caller. These incoming arguments are represented as SSA values assigned to incoming stack slots.

An outgoing function argument.

When preparing to call a function whose arguments don't fit in registers, outgoing argument stack slots are used to represent individual arguments in the outgoing call frame. These stack slots are only valid while setting up a call.

An emergency spill slot.

Emergency slots are allocated late when the register's constraint solver needs extra space to shuffle registers around. The are only used briefly, and can be reused.

Trait Implementations

impl Clone for StackSlotKind
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for StackSlotKind
[src]

impl Debug for StackSlotKind
[src]

Formats the value using the given formatter. Read more

impl PartialEq for StackSlotKind
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for StackSlotKind
[src]

impl FromStr for StackSlotKind
[src]

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

impl Display for StackSlotKind
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations