[vta,trunk?] stabilize hashing of SSA names and builtin function DECLs

Alexandre Oliva aoliva@redhat.com
Wed Dec 10 05:09:00 GMT 2008


On Oct 30, 2008, "Daniel Berlin" <dberlin@dberlin.org> wrote:

> On Wed, Oct 29, 2008 at 8:19 PM, Alexandre Oliva <aoliva@redhat.com> wrote:
>> On Oct 29, 2008, "Richard Guenther" <richard.guenther@gmail.com> wrote:
>> 
>>> +      val = iterative_hash_host_wide_int (DECL_UID (SSA_NAME_VAR (t)), val);
>>> +      val = iterative_hash_host_wide_int (SSA_NAME_VERSION (t), val);
>> 
>>> why both?  I would say using SSA_NAME_VERSION should be enough?
>> 
>> Enough, it is, sure.  I figured rocking the boat a bit further might
>> make for better hashing.  No evidence of that, though.
>> 

> The problem is that if you hash on DECL_UID as well, it will hide
> problems where people are keeping ssa names that have been freed in
> hash tables (since versions get reused but decl_uid would be
> different).

> This has actually happened in the past
> :)

I see.  It doesn't seem to occur any more, but there's little point in
doing more work when there's no indication it provides for better
hashing *and* it might also hurt.  So, here's an updated patch.  I
guess it's too late to fix this kind of bug in 4.4, though.  Anyhow,
ok for 4.5?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-stabilize-hash-expr.patch
Type: text/x-patch
Size: 2453 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081210/2386be91/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva           http://www.lsd.ic.unicamp.br/~oliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


More information about the Gcc-patches mailing list