Enum regalloc2::RegAllocError
source · [−]pub enum RegAllocError {
CritEdge(Block, Block),
SSA(VReg, Inst),
BB(Block),
Branch(Inst),
EntryLivein,
DisallowedBranchArg(Inst),
TooManyLiveRegs,
}
Expand description
An error that prevents allocation.
Variants
CritEdge(Block, Block)
Critical edge is not split between given blocks.
SSA(VReg, Inst)
Invalid SSA for given vreg at given inst: multiple defs or
illegal use. inst
may be Inst::invalid()
if this concerns
a block param.
BB(Block)
Invalid basic block: does not end in branch/ret, or contains a branch/ret in the middle.
Branch(Inst)
Invalid branch: operand count does not match sum of block params of successor blocks.
EntryLivein
A VReg is live-in on entry; this is not allowed.
DisallowedBranchArg(Inst)
A branch has non-blockparam arg(s) and at least one of the successor blocks has more than one predecessor, forcing edge-moves before this branch. This is disallowed because it places a use after the edge moves occur; insert an edge block to avoid the situation.
TooManyLiveRegs
Too many pinned VRegs + Reg-constrained Operands are live at once, making allocation impossible.
Trait Implementations
sourceimpl Clone for RegAllocError
impl Clone for RegAllocError
sourcefn clone(&self) -> RegAllocError
fn clone(&self) -> RegAllocError
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for RegAllocError
impl Debug for RegAllocError
sourceimpl Display for RegAllocError
impl Display for RegAllocError
sourceimpl Error for RegAllocError
impl Error for RegAllocError
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations
impl RefUnwindSafe for RegAllocError
impl Send for RegAllocError
impl Sync for RegAllocError
impl Unpin for RegAllocError
impl UnwindSafe for RegAllocError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more