X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FAnalysis%2FVerifier.h;h=a6b2a6df21af177280b5f7b29fc0c9d6b292755d;hb=c6f69e94fa46f585b59bb9d7ace3224b0e638c95;hp=63ce6ce6c91c2c2832aaa5eef2d23ecf80c33308;hpb=0e4271f8b2b31fcb66d607aaa766c37e0d10f49b;p=oota-llvm.git diff --git a/include/llvm/Analysis/Verifier.h b/include/llvm/Analysis/Verifier.h index 63ce6ce6c91..a6b2a6df21a 100644 --- a/include/llvm/Analysis/Verifier.h +++ b/include/llvm/Analysis/Verifier.h @@ -1,10 +1,10 @@ //===-- 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 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 @@ -21,6 +21,8 @@ #ifndef LLVM_ANALYSIS_VERIFIER_H #define LLVM_ANALYSIS_VERIFIER_H +#include + namespace llvm { class FunctionPass; @@ -28,16 +30,15 @@ class Module; class Function; /// @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 { +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 + ReturnStatusAction ///< verifyModule will just return true }; /// @brief Create a verifier pass. @@ -45,20 +46,21 @@ enum VerifierFailureAction { /// 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( +FunctionPass *createVerifierPass( VerifierFailureAction action = AbortProcessAction ///< Action to take ); -/// @brief Check a module for errors. +/// @brief Check a module for errors. /// -/// If there are no errors, the function returns false. If an error is found, +/// 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 +/// 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 + VerifierFailureAction action = AbortProcessAction, ///< Action to take + std::string *ErrorInfo = 0 ///< Information about failures. ); // verifyFunction - Check a function for errors, useful for use when debugging a