1 /* Copyright (c) 2002 by Universität Karlsruhe (TH). All Rights Reserved */
3 * Time-stamp: <Thursday, 19.12.2002, 15:45:43 goetz@i44pc2.info.uni-karlsruhe.de>
10 Helper functions for exceptions
14 liekweg - Mar 4, 2002: Created.
31 exc_invalid = 0, /* not yet computed */
32 exc_normal, /* normal CF */
34 /* must push a new exc context at entry of block: */
35 exc_region, /* region entry */
37 /* must pop current exc context at EXIT of block */
38 exc_exit, /* region exit */
40 /* must pop current exc context at entry of block */
41 exc_handler, /* handler entry */
43 exc_max /* maximum value of enum for 'bounds checking' */
46 const char *exc_to_string (exc_t);
48 bool is_handler_entry (ir_graph*, ir_node*);
49 bool is_region_entry (ir_graph*, ir_node*);
50 bool is_handler_block (ir_graph*, ir_node*);
51 bool is_cont_entry (ir_graph*, ir_node*);
53 void set_Block_exc (ir_node*, exc_t);
54 exc_t get_Block_exc (ir_node*);
56 void set_Node_exc (ir_node*, exc_t);
57 exc_t get_Node_exc (ir_node*);
59 /* handler handling @@@ ajacs specific -- not supported */
60 void set_Block_handler (ir_node*, ir_node*);
61 ir_node* get_Block_handler (ir_node*);
63 void set_Node_handler (ir_node*, ir_node*);
64 ir_node* get_Node_handler (ir_node*);
66 # endif /* def _EXC_H_ */