pub struct ValueFact {
pub interval: Option<Interval>,
pub op_class: OpClass,
pub escapes: bool,
pub repr: Repr,
}Expand description
Per-value representation-selection fact, keyed by LocalId within a
MirFn. repr == Bare ⟺ raw_i64_eligible(interval, ops) && !escapes.
Fields§
§interval: Option<Interval>Derived interval over-approximation (None = the analysis could
not derive a bound, the conservative decline).
op_class: OpClassWorst-case op class over every arithmetic node the value flows
through. OverflowFree is the only band that may be Bare.
escapes: booltrue when the value reaches a general-Int context (returned as a
general Int, passed to a general-Int param, stored in an aggregate,
or stringified). A Bare value never escapes by construction.
repr: ReprThe chosen representation.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ValueFact
impl RefUnwindSafe for ValueFact
impl Send for ValueFact
impl Sync for ValueFact
impl Unpin for ValueFact
impl UnsafeUnpin for ValueFact
impl UnwindSafe for ValueFact
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