Crate llvm_ir_analysis

Source
Expand description

This crate provides various analyses of LLVM IR, such as control-flow graphs, dominator trees, control dependence graphs, etc.

For a more thorough introduction to the crate and how to get started, see the crate’s README.

Re-exports§

pub use llvm_ir;

Structs§

CallGraph
The call graph for the analyzed Module(s): which functions may call which other functions.
ControlDependenceGraph
The control dependence graph for a particular function. https://en.wikipedia.org/wiki/Data_dependency#Control_Dependency
ControlFlowGraph
The control flow graph for a particular function.
CrossModuleAnalysis
Analyzes multiple Modules, providing a ModuleAnalysis for each; and also provides a few additional cross-module analyses (e.g., a cross-module call graph)
DominatorTree
The dominator tree for a particular function.
FunctionAnalysis
Computes (and caches the results of) various analyses on a given Function
FunctionsByType
Allows you to iterate over all the functions in the analyzed Module(s) that have a specified type.
ModuleAnalysis
Computes (and caches the results of) various analyses on a given Module
PostDominatorTree
The postdominator tree for a particular function.

Enums§

CFGNode
A CFGNode represents a basic block, or the special node Return