pub enum AliasAnalysisLevel {
NoAlias,
BasicAA,
TypeBasedAA,
ScopedNoAliasAA,
GlobalsAA,
CFLAndersen,
CFLSteensgaard,
}Expand description
Which level / flavor of alias analysis to run.
Variants§
NoAlias
Disable alias analysis (assume everything MayAlias).
BasicAA
Basic alias analysis: trivial same-variable queries only.
TypeBasedAA
Type-based alias analysis (TBAA): use LCNF types to rule out aliases.
ScopedNoAliasAA
Scoped no-alias: use structural scoping to prove NoAlias.
GlobalsAA
Global variables analysis: treat globals as separate alias class.
CFLAndersen
CFL Andersen: context-free-language reachability, inclusion-based.
CFLSteensgaard
CFL Steensgaard: context-free-language reachability, unification-based.
Implementations§
Source§impl AliasAnalysisLevel
impl AliasAnalysisLevel
Sourcepub fn description(&self) -> &'static str
pub fn description(&self) -> &'static str
A human-readable description of this level.
Sourcepub fn uses_points_to(&self) -> bool
pub fn uses_points_to(&self) -> bool
Returns true if this level uses points-to analysis.
Trait Implementations§
Source§impl Clone for AliasAnalysisLevel
impl Clone for AliasAnalysisLevel
Source§fn clone(&self) -> AliasAnalysisLevel
fn clone(&self) -> AliasAnalysisLevel
Returns a duplicate of the value. Read more
1.0.0 · 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 AliasAnalysisLevel
impl Debug for AliasAnalysisLevel
Source§impl Default for AliasAnalysisLevel
impl Default for AliasAnalysisLevel
Source§fn default() -> AliasAnalysisLevel
fn default() -> AliasAnalysisLevel
Returns the “default value” for a type. Read more
Source§impl Hash for AliasAnalysisLevel
impl Hash for AliasAnalysisLevel
Source§impl PartialEq for AliasAnalysisLevel
impl PartialEq for AliasAnalysisLevel
impl Copy for AliasAnalysisLevel
impl Eq for AliasAnalysisLevel
impl StructuralPartialEq for AliasAnalysisLevel
Auto Trait Implementations§
impl Freeze for AliasAnalysisLevel
impl RefUnwindSafe for AliasAnalysisLevel
impl Send for AliasAnalysisLevel
impl Sync for AliasAnalysisLevel
impl Unpin for AliasAnalysisLevel
impl UnsafeUnpin for AliasAnalysisLevel
impl UnwindSafe for AliasAnalysisLevel
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