//===-- llvm/Analysis/Verifier.h - Module Verifier --------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines the function verifier interface, that can be used for some // sanity checking of input to the system, and for checking that transformations // haven't done something bad. // // Note that this does not provide full 'java style' security and verifications, // instead it just tries to ensure that code is well formed. // // To see what specifically is checked, look at the top of Verifier.cpp // //===----------------------------------------------------------------------===// #ifndef LLVM_ANALYSIS_VERIFIER_H #define LLVM_ANALYSIS_VERIFIER_H namespace llvm { class FunctionPass; class Module; class Function; // createVerifierPass - Check a module or function for validity. If errors are // detected, error messages corresponding to the problem are printed to stderr. // FunctionPass *createVerifierPass(); // verifyModule - Check a module for errors, printing messages on stderr. // Return true if the module is corrupt. This should only be used for // debugging, because it plays games with PassManagers and stuff. // bool verifyModule(const Module &M); // verifyFunction - Check a function for errors, useful for use when debugging a // pass. bool verifyFunction(const Function &F); } // End llvm namespace #endif