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.