pub struct ModuleAnalysisManager { /* private fields */ }
Expand description

Struct allowing to query the pass manager for the result of analyses on module IR.

Implementations§

source§

impl ModuleAnalysisManager

source

pub fn get_result<A>(&self, module: &Module<'_>) -> &A::Result

Returns the result of the analysis on a given module IR.

If the result is not in cache, the pass manager will execute the analysis pass. Otherwise, the result is directly returned from cache.

§Panics

Panics if the given analysis wasn’t registered, or if this function was called within the given analysis itself.

source

pub fn get_cached_result<A>(&self, module: &Module<'_>) -> Option<&A::Result>

Returns the result of the analysis on a given module IR.

If the result is not in cache, None is returned. Otherwise, the result is directly returned from cache.

This function never triggers the execution of an analysis.

§Panics

Panics if the given analysis wasn’t registered, or if this function was called within the given analysis itself.

source

pub fn get_function_analysis_manager_proxy( &self, module: &Module<'_> ) -> FunctionAnalysisManagerProxy

Returns a FunctionAnalysisManagerProxy, which is essentially an interface allowing management of analyses at the function level.

source

pub fn register_pass<T>(&mut self, pass: T)

Register an analysis pass to the analysis manager.

§Panics

Panics if the given analysis was already registered.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.