Skip to main content

Module analysis

Module analysis 

Source
Expand description

MIR analysis passes.

This module contains dataflow analysis passes for MIR, including:

  • Liveness analysis for tracking value lifetimes
  • Phi elimination for converting SSA to CSSA
  • Loop analysis for detecting and analyzing natural loops

Structs§

AffineExpr
An affine expression in one loop.
AffineTerm
One affine induction-variable term.
BlockCopies
Copies to insert at the end of a block (before the terminator).
CallGraphInfo
Module-level internal-call graph facts.
CfgInfo
Control-flow facts for one MIR function.
DominatorTree
Immediate-dominator tree for one MIR function.
InductionVariable
An induction variable in a loop.
Liveness
Liveness analysis results for a function.
LivenessInfo
Per-instruction liveness information.
Loop
A natural loop in the control flow graph.
LoopAnalyzer
Loop analyzer that detects and analyzes loops in MIR functions.
LoopInfo
Result of loop analysis for a function.
ParallelCopy
A parallel copy operation: copy from source to destination.
PhiEliminationResult
Result of phi elimination.
PhiEliminator
Phi elimination query.
ScalarEvolution
Affine expressions recognized for one loop.
ValidationError
One validation finding.
Validator
MIR validation query.
ValidatorAnalysis
Validator as an AnalysisPass. The result is the (possibly empty) list of validation errors.

Enums§

CopyDest
Destination for a parallel copy - either a regular value or a temporary.
CopySource
Source for a parallel copy - either a regular value or a temporary.

Functions§

eliminate_phis
Eliminates phi nodes by inserting parallel copies at predecessor block exits.
validate_function
Validates a single function. Returns the empty vec on success.
validate_module
Validates every function in a module.

Type Aliases§

LiveSet
A dense bitset for tracking live values.