struct LoopLocalSummary {
assigned_inside: FxHashSet<Local>,
state_locals: FxHashSet<Local>,
}Expand description
Local assignment and transfer summary for one loop SCC.
The planner uses this for two related questions:
- Did a sink dependency get redefined inside this SCC?
- If so, how many loop-carried state locals are on the dependency path from the sink back to an earlier source?
Fields§
§assigned_inside: FxHashSet<Local>Locals directly assigned inside the SCC.
state_locals: FxHashSet<Local>Locals that have both an incoming value and an SCC update.
Implementations§
Source§impl LoopLocalSummary
impl LoopLocalSummary
Sourcefn new(body: &Body<'_>, component: &LoopComponent) -> Self
fn new(body: &Body<'_>, component: &LoopComponent) -> Self
Build local assignment sets for component.
Auto Trait Implementations§
impl DynSend for LoopLocalSummary
impl DynSync for LoopLocalSummary
impl Freeze for LoopLocalSummary
impl RefUnwindSafe for LoopLocalSummary
impl Send for LoopLocalSummary
impl Sync for LoopLocalSummary
impl Unpin for LoopLocalSummary
impl UnsafeUnpin for LoopLocalSummary
impl UnwindSafe for LoopLocalSummary
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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