Expand the pass to unify all of the unwind blocks as well
[oota-llvm.git] / include / llvm / Analysis / Verifier.h
index 4d54f123484591ae059c74b8129ee902ccfca7d4..645f1fa33112da5506ab1dda73c14ab6c4ad8f49 100644 (file)
@@ -1,7 +1,8 @@
 //===-- llvm/Analysis/Verifier.h - Module Verifier ---------------*- C++ -*-==//
 //
-// This file defines the method verifier interface, that can be used for some
-// sanity checking of input to the system.
+// 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.
 #ifndef LLVM_ANALYSIS_VERIFIER_H
 #define LLVM_ANALYSIS_VERIFIER_H
 
-class Pass;
+class FunctionPass;
 class Module;
+class Function;
 
-// createVerifierPass - Check a module or method for validity.  If errors are
+// createVerifierPass - Check a module or function for validity.  If errors are
 // detected, error messages corresponding to the problem are printed to stderr.
 //
-Pass *createVerifierPass();
+FunctionPass *createVerifierPass();
 
 // verifyModule - Check a module for errors, printing messages on stderr.
-// Return true if the module is corrupt.
+// Return true if the module is corrupt.  This should only be used for
+// debugging, because it plays games with PassManagers and stuff.
 //
-bool verifyModule(Module *M);
+bool verifyModule(const Module &M);
+
+// verifyFunction - Check a function for errors, useful for use when debugging a
+// pass.
+bool verifyFunction(const Function &F);
 
 #endif