On Mon, May 2, 2011 at 5:15 PM, Michael Matz <m...@suse.de> wrote:
> Hi,
>
> On Mon, 2 May 2011, Richard Guenther wrote:
>
>> >> --- 348,367 ----
>> >>                            bool insert_at_next_slot_p)
>> >>   {
>> >>     void **slot;
>> >>     unsigned ix;
>> >>     bool existed_p;
>> >>
>> >>     gcc_assert (t);
>> >>
>> >> !   slot = pointer_map_insert (cache->node_map, t);
>> >> !   if (!*slot)
>> >
>> > ix might legitimately be zero.  Hence this transformation is not
>> > equivalent.  You might want to enter ix+1 into the cache with the
>> > appropriate adjustment at read-out.  Same for the other places.
>>
>> Or not use index zero.
>
> I never like these sentinals.

Well.  Or use pointer_map_contains () here.

Richard.

>> Maybe better than also have to deal with ix + 1 wrapping ...
>
> We don't handle ix wrapping, why should we now suddenly care about ix+1
> wrapping?
>
> Ciao,
> Michael.

Reply via email to