Enum cranelift_codegen::CodegenError
source · [−]pub enum CodegenError {
Verifier(VerifierErrors),
ImplLimitExceeded,
CodeTooLarge,
Unsupported(String),
RegisterMappingError(RegisterMappingError),
Regalloc(CheckerErrors),
}
Expand description
A compilation error.
When Cranelift fails to compile a function, it will return one of these error codes.
Variants
Verifier(VerifierErrors)
A list of IR verifier errors.
This always represents a bug, either in the code that generated IR for Cranelift, or a bug in Cranelift itself.
ImplLimitExceeded
An implementation limit was exceeded.
Cranelift can compile very large and complicated functions, but the implementation has limits that cause compilation to fail when they are exceeded.
CodeTooLarge
The code size for the function is too large.
Different target ISAs may impose a limit on the size of a compiled function. If that limit is exceeded, compilation fails.
Unsupported(String)
Something is not supported by the code generator. This might be an indication that a feature is used without explicitly enabling it, or that something is temporarily unsupported by a given target backend.
RegisterMappingError(RegisterMappingError)
A failure to map Cranelift register representation to a DWARF register representation.
Regalloc(CheckerErrors)
Register allocator internal error discovered by the symbolic checker.
Trait Implementations
sourceimpl Debug for CodegenError
impl Debug for CodegenError
sourceimpl Display for CodegenError
impl Display for CodegenError
sourceimpl Error for CodegenError
impl Error for CodegenError
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()
sourceimpl From<VerifierErrors> for CodegenError
impl From<VerifierErrors> for CodegenError
sourcefn from(source: VerifierErrors) -> Self
fn from(source: VerifierErrors) -> Self
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for CodegenError
impl Send for CodegenError
impl Sync for CodegenError
impl Unpin for CodegenError
impl UnwindSafe for CodegenError
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