mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	Make the verifier API more complete and useful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12608 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -27,20 +27,46 @@ class FunctionPass; | |||||||
| class Module; | class Module; | ||||||
| class Function; | class Function; | ||||||
|  |  | ||||||
| // createVerifierPass - Check a module or function for validity.  If errors are | /// @brief An enumeration to specify the action to be taken if errors found. | ||||||
| // detected, error messages corresponding to the problem are printed to stderr. | ///  | ||||||
| // | /// This enumeration is used in the functions below to indicate what should | ||||||
| FunctionPass *createVerifierPass(); | /// 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. | /// @brief Create a verifier pass. | ||||||
| // Return true if the module is corrupt.  This should only be used for | /// | ||||||
| // debugging, because it plays games with PassManagers and stuff. | /// 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 | ||||||
| bool verifyModule(const Module &M); | /// 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 | // verifyFunction - Check a function for errors, useful for use when debugging a | ||||||
| // pass. | // 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 | } // End llvm namespace | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user