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