Enum regalloc::AnalysisError
source · [−]pub enum AnalysisError {
CriticalEdge {
from: BlockIx,
to: BlockIx,
},
EntryLiveinValues(Vec<Reg>),
IllegalRealReg(RealReg),
UnreachableBlocks,
ImplementationLimitsExceeded,
LSRACantDoStackmaps,
}
Variants
CriticalEdge
A critical edge from “from” to “to” has been found, and should have been removed by the caller in the first place.
EntryLiveinValues(Vec<Reg>)
Some values in the entry block are live in to the function, but are not declared as such.
IllegalRealReg(RealReg)
The incoming code has an explicit or implicit mention (use, def or mod)
of a real register, which either (1) isn’t listed in the universe at
all, or (2) is one of the suggested_scratch
registers in the universe.
(1) isn’t allowed because the client must mention all real registers
in the universe. (2) isn’t allowed because the client promises to us
that the suggested_scratch
registers really are completely unused in
the incoming code, so that the allocator can use them at literally any
point it wants.
UnreachableBlocks
At least one block is dead.
ImplementationLimitsExceeded
Implementation limits exceeded. The incoming function is too big. It may contain at most 1 million basic blocks and 16 million instructions.
LSRACantDoStackmaps
Currently LSRA can’t generate stackmaps, but the client has requested LSRA and stackmaps.
Trait Implementations
sourceimpl Clone for AnalysisError
impl Clone for AnalysisError
sourcefn clone(&self) -> AnalysisError
fn clone(&self) -> AnalysisError
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 AnalysisError
impl Debug for AnalysisError
Auto Trait Implementations
impl RefUnwindSafe for AnalysisError
impl Send for AnalysisError
impl Sync for AnalysisError
impl Unpin for AnalysisError
impl UnwindSafe for AnalysisError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more