GCC Middle and Back End API Reference
leh_tf_state Struct Reference
Collaboration diagram for leh_tf_state:

Data Fields

gimple try_finally_expr
gimple top_p
gimple_seq top_p_seq
struct leh_stateouter
eh_region region
struct goto_queue_nodegoto_queue
size_t goto_queue_size
size_t goto_queue_active
struct pointer_map_tgoto_queue_map
vec< treedest_array
tree fallthru_label
bool may_fallthru
bool may_return
bool may_throw

Field Documentation

vec<tree> leh_tf_state::dest_array

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
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
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().


The documentation for this struct was generated from the following file: