pub struct InlineHeuristics {
pub max_inline_size: u64,
pub max_inline_depth: u32,
pub always_inline_threshold: u64,
pub never_inline_size: u64,
}Expand description
Tunable parameters that govern inlining decisions.
Fields§
§max_inline_size: u64Maximum body size (in abstract units) that will be inlined unconditionally.
max_inline_depth: u32Maximum call-stack depth at which inlining is still allowed.
always_inline_threshold: u64Functions called at least this many times are considered “always inline”.
never_inline_size: u64Functions larger than this are never inlined regardless of other factors.
Implementations§
Source§impl InlineHeuristics
impl InlineHeuristics
Sourcepub fn decide(
&self,
decl: &LcnfFunDecl,
profile: &InlineProfile,
) -> InlineDecision
pub fn decide( &self, decl: &LcnfFunDecl, profile: &InlineProfile, ) -> InlineDecision
Decide how to inline decl given profile.
Trait Implementations§
Source§impl Clone for InlineHeuristics
impl Clone for InlineHeuristics
Source§fn clone(&self) -> InlineHeuristics
fn clone(&self) -> InlineHeuristics
Returns a duplicate 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 InlineHeuristics
impl Debug for InlineHeuristics
Auto Trait Implementations§
impl Freeze for InlineHeuristics
impl RefUnwindSafe for InlineHeuristics
impl Send for InlineHeuristics
impl Sync for InlineHeuristics
impl Unpin for InlineHeuristics
impl UnsafeUnpin for InlineHeuristics
impl UnwindSafe for InlineHeuristics
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