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: