On Nov 25, 2007 12:28 AM, Alexandre Oliva <[EMAIL PROTECTED]> wrote: > On Nov 24, 2007, "Richard Guenther" <[EMAIL PROTECTED]> wrote: > > > Generated code shouldn't change if we allocate extra DECL_UIDs, but > > only possibly if we change DECL_UID ordering. (If that is the > > problem, as I remember your analysis) > > That is indeed the problem, but I'm not sure your requirement is > feasible. If we permit DECL_UID divergence, it means we can't use > DECL_UID for hashing any more. Since they already stand for hashable > proxies for the decl pointers, I don't see what we'd gain by > introducing yet another hashable uid that's stable across -g. > > What do you suggest us to use for hashing? Or do you suggest us to do > away with hashing and use sorted set or map data structures?
No, hashing is fine, but doing walks over a hashtable when your algorithm depends on ordering is not. I have patches to fix the instance of walking over all referenced vars. Which is in the case of UIDs using bitmaps and a walk over a bitmap (which ensures walks in UID order). Richard.