GCC Middle and Back End API Reference
|
Data Fields | |
gimple | try_finally_expr |
gimple | top_p |
gimple_seq | top_p_seq |
struct leh_state * | outer |
eh_region | region |
struct goto_queue_node * | goto_queue |
size_t | goto_queue_size |
size_t | goto_queue_active |
struct pointer_map_t * | goto_queue_map |
vec< tree > | dest_array |
tree | fallthru_label |
bool | may_fallthru |
bool | may_return |
bool | may_throw |
The set of unique labels seen as entries in the goto queue.
Referenced by record_in_goto_queue().
tree leh_tf_state::fallthru_label |
A label to be added at the end of the completed transformed sequence. It will be set if may_fallthru was true *at one time*, though subsequent transformations may have cleared that flag.
Referenced by frob_into_branch_around(), and lower_try_finally_onedest().
struct goto_queue_node* leh_tf_state::goto_queue |
The goto queue.
Referenced by honor_protect_cleanup_actions().
size_t leh_tf_state::goto_queue_active |
Referenced by honor_protect_cleanup_actions().
struct pointer_map_t* leh_tf_state::goto_queue_map |
Pointer map to help in searching goto_queue when it is large.
size_t leh_tf_state::goto_queue_size |
bool leh_tf_state::may_fallthru |
True if it is possible to fall out the bottom of the try block. Cleared if the fallthru is converted to a goto.
bool leh_tf_state::may_return |
True if any entry in goto_queue is a GIMPLE_RETURN.
Referenced by record_in_goto_queue_label().
bool leh_tf_state::may_throw |
True if the finally block can receive an exception edge. Cleared if the exception case is handled by code duplication.
Referenced by honor_protect_cleanup_actions().
struct leh_state* leh_tf_state::outer |
The state outside this try_finally node.
Referenced by frob_into_branch_around().
eh_region leh_tf_state::region |
The exception region created for it.
Referenced by honor_protect_cleanup_actions().
gimple leh_tf_state::top_p |
Referenced by honor_protect_cleanup_actions().
gimple_seq leh_tf_state::top_p_seq |
While lowering a top_p usually it is expanded into multiple statements, thus we need the following field to store them.
Referenced by honor_protect_cleanup_actions().
gimple leh_tf_state::try_finally_expr |
Pointer to the GIMPLE_TRY_FINALLY node under discussion. The try_finally_expr is the original GIMPLE_TRY_FINALLY. We need to retain this so that outside_finally_tree can reliably reference the tree used in the collect_finally_tree data structures.
Referenced by frob_into_branch_around(), honor_protect_cleanup_actions(), and maybe_record_in_goto_queue().