[llvm] r187213 - Add preliminary support for hashing DIEs and breaking them into

Eric Christopher echristo at gmail.com
Mon Jul 29 15:16:19 PDT 2013


>> We don't, but it's the same hashing for parent scopes that we use in
>> the type unit/full CU hash.
>
> Seems like we'd still not want to skip over function scopes in type
> unit hashes or we'd get collissions:
>
> void f1() { struct foo { }; }
> void f2() { struct foo { }; }

We would, but we define away the problem by not including anything
that is contained within a function into a type unit or odr hash. :)

> Right - I haven't seen the iterative version, so perhaps I'll
> understand what you mean if/when I see it. You're right though, I can
> at least picture that - build a stack of parents, then walk back down.
> (weird - I wonder what artifact of GCC's implementation lead them to
> hashing down rather than up - I guess they split out the type DIE &
> its parents first and then simply walked the whole tree?)
>

Precisely.

-eric



More information about the llvm-commits mailing list