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

Data Fields

struct expr ** table
unsigned int size
unsigned int n_elems

Detailed Description

   Hash table for copy propagation expressions.
   Each hash table is an array of buckets.
   ??? It is known that if it were an array of entries, structure elements
   `next_same_hash' and `bitmap_index' wouldn't be necessary.  However, it is
   not clear whether in the final analysis a sufficient amount of memory would
   be saved as the size of the available expression bitmaps would be larger
   [one could build a mapping table without holes afterwards though].
   Someday I'll perform the computation and figure it out.  
   Expression hash tables.
   Each hash table is an array of buckets.
   ??? It is known that if it were an array of entries, structure elements
   `next_same_hash' and `bitmap_index' wouldn't be necessary.  However, it is
   not clear whether in the final analysis a sufficient amount of memory would
   be saved as the size of the available expression bitmaps would be larger
   [one could build a mapping table without holes afterwards though].
   Someday I'll perform the computation and figure it out.  

Field Documentation

unsigned int hash_table_d::n_elems
     Number of hash table elements.  

Referenced by pre_insert_copies().

unsigned int hash_table_d::size
     Size of the hash table, in elements.  

Referenced by alloc_gcse_mem(), compute_hash_table_work(), load_killed_in_block_p(), and reg_available_p().

struct expr ** hash_table_d::table
     The table itself.
     This is an array of `set_hash_table_size' elements.  
     The table itself.
     This is an array of `expr_hash_table_size' elements.  

Referenced by compute_hash_table_work(), load_killed_in_block_p(), and reg_available_p().


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