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§

Structs§

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

Enums§

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