Enum llvm_plugin::OptimizationLevel
source · #[repr(C)]pub enum OptimizationLevel {
O0 = 0,
O1 = 1,
O2 = 2,
O3 = 3,
Os = 4,
Oz = 5,
}
Expand description
Enum for the LLVM-provided high-level optimization levels.
Each level has a specific goal and rationale.
Variants§
O0 = 0
This level disables as many optimizations as possible.
O1 = 1
This level optimizes quickly without destroying debuggability.
O2 = 2
This level optimizes for fast execution as much as possible without triggering significant incremental compile time or code size growth.
O3 = 3
This level optimizes for fast execution as much as possible.
Os = 4
This level is similar to O2 but tries to optimize for small code size instead of fast execution without triggering significant incremental execution time slowdowns.
Oz = 5
This level will optimize for code size at any and all costs.
Trait Implementations§
source§impl Clone for OptimizationLevel
impl Clone for OptimizationLevel
source§fn clone(&self) -> OptimizationLevel
fn clone(&self) -> OptimizationLevel
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for OptimizationLevel
impl Debug for OptimizationLevel
impl Copy for OptimizationLevel
Auto Trait Implementations§
impl RefUnwindSafe for OptimizationLevel
impl Send for OptimizationLevel
impl Sync for OptimizationLevel
impl Unpin for OptimizationLevel
impl UnwindSafe for OptimizationLevel
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more