Verification Support Analyses
include/Verification/Analysis/ and lib/Verification/Analysis/ collect
small helper passes used by verification-oriented pipelines.
Main components:
ClassifyInstructionsPassandCountInstrPassinspect module structure.ClassifyLoopsPassandGetTestTargetsPassidentify verification-relevant regions.CheckModulePassperforms lightweight module validation.
These passes are mainly support utilities for verifier front-ends rather than standalone end-user analyses.
Pipeline use
Run these passes after loading and normalizing a module — they are registered
as legacy LLVM passes with the names classify-instructions,
classify-loops, count-instr, check-module, and
get-test-targets, so they can be added to an opt/clam pipeline by
name. Their output is best used as diagnostics and preprocessing aids: their
classifications do not by themselves establish or refute a safety property.
New frontends should reuse these common checks before adding narrowly scoped
duplicate passes.
See also Verification Backend API and Verification Transformation Passes.