On Wed, Oct 3, 2012 at 6:46 PM, Lawrence Crowl <cr...@googlers.com> wrote:

> On 10/2/12, Richard Guenther <rguent...@suse.de> 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: tro...@redhat.com
> c: r...@redhat.com
> objc: mikest...@comcast.net
> cp: ja...@redhat.com
>
> ====
>
> 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  <cr...@google.com>
>
>         * 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  <cr...@google.com>
>
>         * 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  <cr...@google.com>
>
>         * 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  <cr...@google.com>
>
>         * 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  <cr...@google.com>
>
>         * 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.

Reply via email to