Struct llvm_ir_analysis::ModuleAnalysis
source · pub struct ModuleAnalysis<'m> { /* private fields */ }
Expand description
Computes (and caches the results of) various analyses on a given Module
Implementations§
source§impl<'m> ModuleAnalysis<'m>
impl<'m> ModuleAnalysis<'m>
sourcepub fn new(module: &'m Module) -> Self
pub fn new(module: &'m Module) -> Self
Create a new ModuleAnalysis
for the given Module
.
This method itself is cheap; individual analyses will be computed lazily on demand.
sourcepub fn module(&self) -> &'m Module
pub fn module(&self) -> &'m Module
Get a reference to the Module
which the ModuleAnalysis
was created
with.
sourcepub fn call_graph(&self) -> Ref<'_, CallGraph<'m>>
pub fn call_graph(&self) -> Ref<'_, CallGraph<'m>>
Get the CallGraph
for the Module
.
sourcepub fn functions_by_type(&self) -> Ref<'_, FunctionsByType<'m>>
pub fn functions_by_type(&self) -> Ref<'_, FunctionsByType<'m>>
Get the FunctionsByType
for the Module
.
sourcepub fn fn_analysis<'s>(&'s self, func_name: &str) -> &'s FunctionAnalysis<'m>
pub fn fn_analysis<'s>(&'s self, func_name: &str) -> &'s FunctionAnalysis<'m>
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§
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