This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [trunk<-vta] Re: [vta] stabilize loop-unroll across insn uid variations
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>
- Date: Tue, 2 Jun 2009 11:21:45 +0200
- Subject: Re: [trunk<-vta] Re: [vta] stabilize loop-unroll across insn uid variations
- References: <ormyhgajtc.fsf@oliva.athome.lsd.ic.unicamp.br> <orvdngweut.fsf@free.oliva.athome.lsd.ic.unicamp.br>
On Mon, Jun 1, 2009 at 10:14 AM, Alexandre Oliva <aoliva@redhat.com> wrote:
> On Oct ?7, 2008, Alexandre Oliva <aoliva@redhat.com> 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.
>
>> I couldn't find a simple way to stabilize the uids or compute good and
>> stable hashes without using them. ?This is the only place AFAICT that
>> uses them as hashes, so I came up with a solution that will waste a
>> bit of memory, but that will ensure we walk the insns in a consistent
>> order, regardless of changes to insn uids. ?To make up for the
>> (little) additional memory, we should get a slight speedup when
>> walking the lists with type-safe inlinable calls, rather than walking
>> every entry of a hashtable that's designed to be about half empty,
>> with a type-unsafe non-inlinable callback.
>
> Ok for trunk?
I'll defer to Zdenek.
Richard.