On Wed, Oct 3, 2012 at 6:46 PM, Lawrence Crowl <[email protected]> wrote:
> On 10/2/12, Richard Guenther <[email protected]> wrote: >> You are changing a hashtable used by fold checking, did you test >> with fold checking enabled? > > One small thinko fixed. Patch passes tests. > >> The cfg.c, dse.c and hash-table.h parts are ok for trunk, I'll >> leave the rest to respective maintainers of the pieces of the >> compiler. > > +cc > java: [email protected] > c: [email protected] > objc: [email protected] > cp: [email protected] > > ==== > > Change more non-GTY hash tables to use the new type-safe template hash table. > Constify member function parameters that can be const. > Correct a couple of expressions in formerly uninstantiated templates. > > The new code is 0.362% faster in bootstrap, with a 99.5% confidence of > being faster. > > Tested on x86-64. > > Okay for trunk? > > > Index: gcc/java/ChangeLog > > 2012-10-01 Lawrence Crowl <[email protected]> > > * Make-lang.in (JAVA_OBJS): Add dependence on hash-table.o. > (JCFDUMP_OBJS): Add dependence on hash-table.o. > (jcf-io.o): Add dependence on hash-table.h. > * jcf-io.c (memoized_class_lookups): Change to use type-safe hash > table. > > Index: gcc/c/ChangeLog > > 2012-10-01 Lawrence Crowl <[email protected]> > > * Make-lang.in (c-decl.o): Add dependence on hash-table.h. > * c-decl.c (detect_field_duplicates_hash): Change to new type-safe > hash table. > > Index: gcc/objc/ChangeLog > > 2012-10-01 Lawrence Crowl <[email protected]> > > * Make-lang.in (OBJC_OBJS): Add dependence on hash-table.o. > (objc-act.o): Add dependence on hash-table.h. > * objc-act.c (objc_detect_field_duplicates): Change to new type-safe > hash table. > > Index: gcc/ChangeLog > > 2012-10-01 Lawrence Crowl <[email protected]> > > * Makefile.in (fold-const.o): Add depencence on hash-table.h. > (dse.o): Likewise. > (cfg.o): Likewise. > * fold-const.c (fold_checksum_tree): Change to new type-safe hash > table. > * (print_fold_checksum): Likewise. > * cfg.c (var bb_original): Likewise. > * (var bb_copy): Likewise. > * (var loop_copy): Likewise. > * hash-table.h (template hash_table): Constify parameters for find... > and remove_elt... member functions. > (hash_table::empty) Correct size expression. > (hash_table::clear_slot) Correct deleted entry assignment. > * dse.c (var rtx_group_table): Change to new type-safe hash table. > > Index: gcc/cp/ChangeLog > > 2012-10-01 Lawrence Crowl <[email protected]> > > * Make-lang.in (class.o): Add dependence on hash-table.h. > (tree.o): Likewise. > (semantics.o): Likewise. > * class.c (fixed_type_or_null): Change to new type-safe hash table. > * tree.c (verify_stmt_tree): Likewise. > (verify_stmt_tree_r): Likewise. > * semantics.c (struct nrv_data): Likewise. Given that the changes to the front ends are mechanical and a side-effect of the main hash table changes, I think they should be OK without further review (provided tests pass of course). The changes look fine to me. To be extra safe, let's wait a couple more days to give the FE maintainers a chance to look at the patch. Diego.
