pub struct ScalarEvolution { /* private fields */ }Expand description
Affine expressions recognized for one loop.
Implementations§
Source§impl ScalarEvolution
impl ScalarEvolution
Sourcepub fn analyze(func: &Function, loop_data: &Loop) -> ScalarEvolution
pub fn analyze(func: &Function, loop_data: &Loop) -> ScalarEvolution
Computes affine expressions for values used by loop_data.
Sourcepub fn get(&self, value: ValueId) -> Option<&AffineExpr>
pub fn get(&self, value: ValueId) -> Option<&AffineExpr>
Returns the affine expression for a value, if recognized.
Trait Implementations§
Source§impl Clone for ScalarEvolution
impl Clone for ScalarEvolution
Source§fn clone(&self) -> ScalarEvolution
fn clone(&self) -> ScalarEvolution
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ScalarEvolution
impl Debug for ScalarEvolution
Source§impl Default for ScalarEvolution
impl Default for ScalarEvolution
Source§fn default() -> ScalarEvolution
fn default() -> ScalarEvolution
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ScalarEvolution
impl RefUnwindSafe for ScalarEvolution
impl Send for ScalarEvolution
impl Sync for ScalarEvolution
impl Unpin for ScalarEvolution
impl UnsafeUnpin for ScalarEvolution
impl UnwindSafe for ScalarEvolution
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more