libFirm 1.20
libfirm/irverify.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1995-2009 University of Karlsruhe.  All right reserved.
00003  *
00004  * This file is part of libFirm.
00005  *
00006  * This file may be distributed and/or modified under the terms of the
00007  * GNU General Public License version 2 as published by the Free Software
00008  * Foundation and appearing in the file LICENSE.GPL included in the
00009  * packaging of this file.
00010  *
00011  * Licensees holding valid libFirm Professional Edition licenses may use
00012  * this file in accordance with the libFirm Commercial License.
00013  * Agreement provided with the Software.
00014  *
00015  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017  * PURPOSE.
00018  */
00019 
00025 #ifndef FIRM_IR_IRVERIFY_H
00026 #define FIRM_IR_IRVERIFY_H
00027 
00028 #include "firm_types.h"
00029 #include "begin.h"
00030 
00042 FIRM_API int irn_verify(const ir_node *checknode);
00043 
00050 FIRM_API int irn_verify_irg(const ir_node *checknode, ir_graph *irg);
00051 
00057 FIRM_API int irn_verify_irg_dump(const ir_node *checknode, ir_graph *irg,
00058                                  const char **bad_string);
00059 
00063 typedef enum irg_verify_flags_t {
00064     VERIFY_NORMAL      = 0,      
00065     VERIFY_ENFORCE_SSA = 1       
00066 } irg_verify_flags_t;
00067 
00077 FIRM_API int irg_verify(ir_graph *irg, unsigned flags);
00078 
00087 FIRM_API ir_graph_pass_t *irg_verify_pass(const char *name, unsigned flags);
00088 
00092 enum verify_bad_flags_t {
00093     BAD_CF      = 1,    
00094     BAD_DF      = 2,    
00095     BAD_BLOCK   = 4,    
00096     TUPLE       = 8     
00097 };
00098 
00107 FIRM_API int irg_verify_bads(ir_graph *irg, int flags);
00108 
00114 FIRM_API void verify_enable_entity_tests(int enable);
00115 
00118 #include "end.h"
00119 
00120 #endif