[][src]Struct llvm_ir_analysis::ModuleAnalysis

pub struct ModuleAnalysis<'m> { /* fields omitted */ }

Computes (and caches the results of) various analyses on a given Module

Implementations

impl<'m> ModuleAnalysis<'m>[src]

pub fn new(module: &'m Module) -> Self[src]

Create a new ModuleAnalysis for the given Module.

This method itself is cheap; individual analyses will be computed lazily on demand.

pub fn module(&self) -> &'m Module[src]

Get a reference to the Module which the ModuleAnalysis was created with.

pub fn call_graph(&self) -> Ref<'_, CallGraph<'m>>[src]

Get the CallGraph for the Module.

pub fn functions_by_type(&self) -> Ref<'_, FunctionsByType<'m>>[src]

Get the FunctionsByType for the Module.

pub fn fn_analysis<'s>(&'s self, func_name: &str) -> &'s FunctionAnalysis<'m>[src]

Get the FunctionAnalysis for the function with the given name.

Panics if no function of that name exists in the Module which the ModuleAnalysis was created with.

Auto Trait Implementations

impl<'m> !RefUnwindSafe for ModuleAnalysis<'m>

impl<'m> Send for ModuleAnalysis<'m>

impl<'m> !Sync for ModuleAnalysis<'m>

impl<'m> Unpin for ModuleAnalysis<'m>

impl<'m> UnwindSafe for ModuleAnalysis<'m>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.