libFirm
irverify.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1995-2009 University of Karlsruhe. All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19 
25 #ifndef FIRM_IR_IRVERIFY_H
26 #define FIRM_IR_IRVERIFY_H
27 
28 #include "firm_types.h"
29 #include "begin.h"
30 
42 FIRM_API int irn_verify(const ir_node *checknode);
43 
50 FIRM_API int irn_verify_irg(const ir_node *checknode, ir_graph *irg);
51 
57 FIRM_API int irn_verify_irg_dump(const ir_node *checknode, ir_graph *irg,
58  const char **bad_string);
59 
63 typedef enum irg_verify_flags_t {
67 
77 FIRM_API int irg_verify(ir_graph *irg, unsigned flags);
78 
87 FIRM_API ir_graph_pass_t *irg_verify_pass(const char *name, unsigned flags);
88 
93  BAD_CF = 1,
94  BAD_DF = 2,
95  BAD_BLOCK = 4,
96  TUPLE = 8
97 };
98 
107 FIRM_API int irg_verify_bads(ir_graph *irg, int flags);
108 
111 #include "end.h"
112 
113 #endif