[vta] stabilize loop-unroll across insn uid variations

Richard Guenther richard.guenther@gmail.com
Tue Oct 7 11:43:00 GMT 2008


On Tue, Oct 7, 2008 at 11:36 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> Alexandre Oliva wrote:
>> compare-debug detected some differences causes by RTL loop unrolling,
>> because debug insns changed the insn uids it uses as hashes.  Because
>> of this change, insns were walked in different orders, and different
>> decisions were made.
>
> This should also go in trunk IMO.

To prevent ordering changes we should never walk hashtables
(we could walk std::map, which provides ordered keys).  One
cheap way out is to walk a bitmap of the UIDs - I didn't look
too closely at the patch, but maybe using bitmaps are cheaper
than a linked list.

Richard.

> Paolo
>
>



More information about the Gcc-patches mailing list