r194511 - in /branches/cxx-conversion/gcc: Make...

crowl@gcc.gnu.org crowl@gcc.gnu.org
Fri Dec 14 22:34:00 GMT 2012


Author: crowl
Date: Fri Dec 14 22:34:50 2012
New Revision: 194511

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194511
Log:
Add standard-style iterators to hash_table.
Implement gcc-style FOR_EACH on top of those iterators.

* hash-table.h'hash_table

  Add documentation.
  Add nested class iterator and methods to hash_table.
  Add FOR_EACH_HASH_TABLE_ELEMENT implemented with those iterators.

Convert several uses of htab_t to use hash_table.
Adjust types and calls to match.
These files also use the iterators.
Change uses of FOR_EACH_HTAB_ELEMENT to FOR_EACH_HASH_TABLE_ELEMENT.

* tree-ssa-sccvn.c'vn_tables_s.nary

  Fold vn_nary_op_hash, vn_nary_op_eq into new struct vn_nary_op_hasher.
  Add typedef vn_nary_op_table_type.
  Add typedef vn_nary_op_iterator_type.

* tree-ssa-sccvn.c'vn_tables_s.phis

  Fold vn_phi_hash, free_phi into new struct vn_phi_hasher.
  Add typedef vn_phi_table_type.
  Add typedef vn_phi_iterator_type.

* tree-ssa-sccvn.c'vn_tables_s.references

  Fold vn_reference_hash, vn_reference_op_eq, free_reference
    into new struct vn_reference_hasher.
  Add typedef vn_reference_table_type.
  Add typedef vn_reference_iterator_type.

* tree-ssa-sccvn.c'constant_value_ids

  Fold vn_constant_hash, vn_constant_eq into new struct vn_constant_hasher.

* tree-into-ssa.c'var_infos

  Fold var_info_hash, var_info_eq into new struct var_info_hasher.

* var-tracking.c'emit_note_data_def.vars
* var-tracking.c'shared_hash_def.htab
* var-tracking.c'changed_variables

  Fold variable_htab_hash, variable_htab_eq, variable_htab_free
    into new struct variable_hasher.
  Add typedef variable_table_type.
  Add typedef variable_iterator_type.

* trans-mem.c'tm_log

  Fold tm_log_hash, tm_log_eq, tm_log_free into new struct log_entry_hasher.

* trans-mem.c'tm_memopt_value_numbers

  Fold tm_memop_hash, tm_memop_eq into new struct tm_memop_hasher.

Tested on x86-64.



Modified:
    branches/cxx-conversion/gcc/Makefile.in
    branches/cxx-conversion/gcc/hash-table.h
    branches/cxx-conversion/gcc/trans-mem.c
    branches/cxx-conversion/gcc/tree-into-ssa.c
    branches/cxx-conversion/gcc/tree-ssa-sccvn.c
    branches/cxx-conversion/gcc/tree-ssa-sccvn.h
    branches/cxx-conversion/gcc/var-tracking.c



More information about the Gcc-cvs mailing list