Verification Transformation Passes
include/Verification/Transform/ and lib/Verification/Transform/ provide
IR rewrites that prepare programs for model checking and abstract
interpretation.
Representative passes:
MakeNondetPassandDeleteUndefinedPassnormalize undefined behavior.InstrumentAllocPassandPrepareOverflowsPassexpose verification checks explicitly.InitializeUninitializedPassandBreakInfiniteLoopsPasssimplify the state space.loop and API rewriting passes adapt LLVM IR to backend expectations.
These transforms are typically used before handing a module to verifier tools.
See also Instrumentation Passes and Verification Backend API.