pub struct InductionVariable {
pub value: ValueId,
pub init: ValueId,
pub step: ValueId,
pub descending: bool,
pub update_inst: Option<InstId>,
}Expand description
An induction variable in a loop.
Fields§
§value: ValueIdThe value ID of the induction variable (typically a phi node in header).
init: ValueIdInitial value before loop entry.
step: ValueIdStep/stride per iteration. The magnitude only; see Self::descending for the sign.
descending: boolWhether the variable decreases by step each iteration (i = i - step).
update_inst: Option<InstId>The instruction that computes the next value.
Trait Implementations§
Source§impl Clone for InductionVariable
impl Clone for InductionVariable
Source§fn clone(&self) -> InductionVariable
fn clone(&self) -> InductionVariable
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 moreAuto Trait Implementations§
impl Freeze for InductionVariable
impl RefUnwindSafe for InductionVariable
impl Send for InductionVariable
impl Sync for InductionVariable
impl Unpin for InductionVariable
impl UnsafeUnpin for InductionVariable
impl UnwindSafe for InductionVariable
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