[llvm-commits] CVS: llvm/include/llvm/Analysis/Verifier.h
Chris Lattner
lattner at cs.uiuc.edu
Fri Apr 2 10:25:18 PST 2004
Changes in directory llvm/include/llvm/Analysis:
Verifier.h updated: 1.12 -> 1.13
---
Log message:
Make the verifier API more complete and useful
---
Diffs of the changes: (+36 -10)
Index: llvm/include/llvm/Analysis/Verifier.h
diff -u llvm/include/llvm/Analysis/Verifier.h:1.12 llvm/include/llvm/Analysis/Verifier.h:1.13
--- llvm/include/llvm/Analysis/Verifier.h:1.12 Tue Nov 11 16:41:31 2003
+++ llvm/include/llvm/Analysis/Verifier.h Fri Apr 2 09:44:33 2004
@@ -27,20 +27,46 @@
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();
+/// @brief An enumeration to specify the action to be taken if errors found.
+///
+/// This enumeration is used in the functions below to indicate what should
+/// happen if the verifier finds errors. Each of the functions that uses
+/// this enumeration as an argument provides a default value for it. The
+/// actions are listed below.
+enum VerifierFailureAction {
+ AbortProcessAction, ///< verifyModule will print to stderr and abort()
+ ThrowExceptionAction, ///< verifyModule will throw errors as std::string
+ PrintMessageAction, ///< verifyModule will print to stderr and return true
+ ReturnStatusAction ///< verifyModule will just return true
+};
-// 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);
+/// @brief Create a verifier pass.
+///
+/// Check a module or function for validity. When the pass is used, the
+/// action indicated by the \p action argument will be used if errors are
+/// found.
+FunctionPass *createVerifierPass(
+ VerifierFailureAction action = AbortProcessAction ///< Action to take
+);
+
+/// @brief Check a module for errors.
+///
+/// If there are no errors, the function returns false. If an error is found,
+/// the action taken depends on the \p action parameter.
+/// This should only be used for debugging, because it plays games with
+/// PassManagers and stuff.
+
+bool verifyModule(
+ const Module &M, ///< The module to be verified
+ VerifierFailureAction action = AbortProcessAction ///< Action to take
+);
// verifyFunction - Check a function for errors, useful for use when debugging a
// pass.
-bool verifyFunction(const Function &F);
+bool verifyFunction(
+ const Function &F, ///< The function to be verified
+ VerifierFailureAction action = AbortProcessAction ///< Action to take
+);
} // End llvm namespace
More information about the llvm-commits
mailing list