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

Data Fields

rtx dest
rtx src
int bitmap_index
struct exprnext_same_hash
struct occravail_occr
rtx expr
struct occrantic_occr
rtx reaching_reg
int max_distance
hashval_t hash

Detailed Description

   Hash table entry for assignment expressions.  
   Hash table of expressions.  
   We need to keep a hash table of expressions.  The table entries are of
   type 'struct expr', and for each expression there is a single linked
   list of occurrences.  
   Expression elements in the hash table.  

Field Documentation

struct occr* expr::antic_occr
     List of anticipatable occurrences in basic blocks in the function.
     An "anticipatable occurrence" is one that is the first occurrence in the
     basic block, the operands are not modified in the basic block prior
     to the occurrence and the output is not used between the start of
     the block and the occurrence.  

Referenced by free_gcse_mem(), hash_expr(), and should_hoist_expr_to_dom().

struct occr * expr::avail_occr
     List of available occurrence in basic blocks in the function.
     An "available occurrence" is one that is the last occurrence in the
     basic block and whose operands are not modified by following statements
     in the basic block [including this insn].  
     List of available occurrence in basic blocks in the function.
     An "available occurrence" is one that is the last occurrence in the
     basic block and the operands are not modified by following statements in
     the basic block [including this insn].  
     List of available occurrence in basic blocks in the function.  

Referenced by free_gcse_mem(), and pre_edge_insert().

int expr::bitmap_index
     Index in the available expression bitmaps.  

Referenced by free_gcse_mem(), insert_insn_end_basic_block(), and process_insert_insn().

rtx expr::dest
     The expression (DEST := SRC).  

Referenced by find_implicit_sets(), and reg_available_p().

rtx expr::expr
     The expression.  
     The expression (SET_SRC for expressions, PATTERN for assignments).  

Referenced by alloc_gcse_mem(), free_gcse_mem(), insert_insn_end_basic_block(), and load_killed_in_block_p().

hashval_t expr::hash
     The same hash for this entry.  

Referenced by load_killed_in_block_p().

int expr::max_distance
     Maximum distance in instructions this expression can travel.
     We avoid moving simple expressions for more than a few instructions
     to keep register pressure under control.
     A value of "0" removes restrictions on how far the expression can
     travel.  
struct expr * expr::next_same_hash
     Next entry with the same hash.  

Referenced by load_killed_in_block_p(), and reg_available_p().

rtx expr::reaching_reg
     Non-null if the computation is PRE redundant.
     The value is the newly created pseudo-reg to record a copy of the
     expression in all the places that reach the redundant copy.  

Referenced by insert_insn_end_basic_block().


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