Struct cretonne::settings::Flags
[−]
[src]
pub struct Flags { /* fields omitted */ }
Flags group shared
.
Methods
impl Flags
[src]
impl Flags
[src]
User-defined settings.
pub fn predicate_view(&self) -> PredicateView
[src]
Get a view of the boolean predicates.
pub fn opt_level(&self) -> OptLevel
[src]
Optimization level:
- default: Very profitable optimizations enabled, none slow.
- best: Enable all optimizations
- fastest: Optimize for compile time by disabling most optimizations.
pub fn enable_verifier(&self) -> bool
[src]
Run the Cretonne IL verifier at strategic times during compilation.
This makes compilation slower but catches many bugs. The verifier is disabled by default, except when reading Cretonne IL from a text file.
pub fn is_64bit(&self) -> bool
[src]
Enable 64-bit code generation
pub fn is_pic(&self) -> bool
[src]
Enable Position-Independent Code generation
pub fn return_at_end(&self) -> bool
[src]
Generate functions with at most a single return instruction at the end of the function.
This guarantees that functions do not have any internal return instructions. Either they never return, or they have a single return instruction at the end.
pub fn avoid_div_traps(&self) -> bool
[src]
Generate explicit checks around native division instructions to avoid their trapping.
This is primarily used by SpiderMonkey which doesn't install a signal handler for SIGFPE, but expects a SIGILL trap for division by zero.
On ISAs like ARM where the native division instructions don't trap, this setting has no effect - explicit checks are always inserted.
pub fn is_compressed(&self) -> bool
[src]
Enable compressed instructions
pub fn enable_float(&self) -> bool
[src]
Enable the use of floating-point instructions
Disabling use of floating-point instructions is not yet implemented.
pub fn enable_simd(&self) -> bool
[src]
Enable the use of SIMD instructions.
pub fn enable_atomics(&self) -> bool
[src]
Enable the use of atomic instructions
pub fn spiderwasm_prologue_words(&self) -> u8
[src]
Number of pointer-sized words pushed by the spiderwasm prologue.
Functions with the spiderwasm
calling convention don't generate their
own prologue and epilogue. They depend on externally generated code
that pushes a fixed number of words in the prologue and restores them
in the epilogue.
This setting configures the number of pointer-sized words pushed on the stack when the Cretonne-generated code is entered. This includes the pushed return address on Intel ISAs.
pub fn allones_funcaddrs(&self) -> bool
[src]
Emit not-yet-relocated function addresses as all-ones bit patterns.
Trait Implementations
impl Clone for Flags
[src]
fn clone(&self) -> Flags
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Display for Flags
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<'a> From<&'a Flags> for FlagsOrIsa<'a>
[src]
fn from(flags: &'a Flags) -> FlagsOrIsa
[src]
Performs the conversion.