pub struct FnAliasPairs {
arg_size: usize,
alias_set: HashSet<AliasPair>,
}Expand description
To store the alias relationships among arguments and return values. Each function may have multiple return instructions, leading to different RetAlias.
Fields§
§arg_size: usize§alias_set: HashSet<AliasPair>Implementations§
Source§impl FnAliasPairs
impl FnAliasPairs
pub fn new(arg_size: usize) -> FnAliasPairs
pub fn arg_size(&self) -> usize
pub fn aliases(&self) -> &HashSet<AliasPair>
pub fn add_alias(&mut self, alias: AliasPair)
pub fn len(&self) -> usize
pub fn sort_alias_index(&mut self)
Sourcepub fn compress_fields(&mut self)
pub fn compress_fields(&mut self)
Compress field paths: truncate each side’s field list to its
first element. This matches the old MoP alias analysis behaviour
where deeply nested fields like 0.0.0.0 are shortened to 0.0.
Trait Implementations§
Source§impl Clone for FnAliasPairs
impl Clone for FnAliasPairs
Source§fn clone(&self) -> FnAliasPairs
fn clone(&self) -> FnAliasPairs
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 FnAliasPairs
impl Debug for FnAliasPairs
Source§impl Display for FnAliasPairs
impl Display for FnAliasPairs
Source§impl From<MopFnAliasPairs> for FnAliasPairs
impl From<MopFnAliasPairs> for FnAliasPairs
Source§fn from(m: MopFnAliasPairs) -> Self
fn from(m: MopFnAliasPairs) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl DynSend for FnAliasPairs
impl DynSync for FnAliasPairs
impl Freeze for FnAliasPairs
impl RefUnwindSafe for FnAliasPairs
impl Send for FnAliasPairs
impl Sync for FnAliasPairs
impl Unpin for FnAliasPairs
impl UnsafeUnpin for FnAliasPairs
impl UnwindSafe for FnAliasPairs
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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