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

Data Fields

struct tm_regionnext
struct tm_regioninner
struct tm_regionouter
gimple transaction_stmt
bool original_transaction_was_outer
tree tm_state
basic_block entry_block
basic_block restart_block
bitmap exit_blocks
bitmap irr_blocks

Detailed Description

   Collect region information for each transaction.  

Field Documentation

basic_block tm_region::entry_block
     The entry block to this region.  This will always be the first
     block of the body of the transaction.  

Referenced by execute_lower_tm(), expand_transaction(), and gate_tm_memopt().

bitmap tm_region::exit_blocks
     The set of all blocks that end the region; NULL if only EXIT_BLOCK.
     These blocks are still a part of the region (i.e., the border is
     inclusive). Note that this set is only complete for paths in the CFG
     starting at ENTRY_BLOCK, and that there is no exit block recorded for
     the edge to the "over" label.  

Referenced by dump_tm_memopt_sets(), execute_lower_tm(), gate_tm_memopt(), ipa_tm_create_version(), and tm_memopt_accumulate_memops().

struct tm_region* tm_region::inner
     Link to the next inner transaction.  

Referenced by execute_lower_tm().

bitmap tm_region::irr_blocks
     The set of all blocks that have an TM_IRREVOCABLE call.  

Referenced by execute_lower_tm().

struct tm_region* tm_region::next
     Link to the next unnested transaction.  

Referenced by execute_lower_tm(), expand_block_edges(), and gate_tm_memopt().

bool tm_region::original_transaction_was_outer
     After TM_MARK expands the GIMPLE_TRANSACTION into a call to
     BUILT_IN_TM_START, this field is true if the transaction is an
     outer transaction.  

Referenced by execute_lower_tm(), and get_tm_region_blocks().

struct tm_region* tm_region::outer
     Link to the next outer transaction.  

Referenced by execute_lower_tm().

basic_block tm_region::restart_block
     The first block after an expanded call to _ITM_beginTransaction.  

Referenced by expand_transaction().

tree tm_region::tm_state
     Return value from BUILT_IN_TM_START.  

Referenced by execute_lower_tm(), and get_tm_region_blocks().

gimple tm_region::transaction_stmt
     The GIMPLE_TRANSACTION statement beginning this transaction.
     After TM_MARK, this gets replaced by a call to

Referenced by execute_lower_tm(), get_tm_region_blocks(), and tm_memopt_clear_visited().

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