* cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
check that tests if all edges go to the same destination.
+ * bitmap.c (bitmap_find_bit): Speed up by traversing from
+ head->first if that seems profitable.
+
2004-11-25 Jeff Law <law@redhat.com>
* timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
|| head->indx == indx)
return head->current;
- if (head->indx > indx)
+ if (head->indx < indx)
+ /* INDX is beyond head->indx. Search from head->current
+ forward. */
+ for (element = head->current;
+ element->next != 0 && element->indx < indx;
+ element = element->next)
+ ;
+
+ else if (head->indx / 2 < indx)
+ /* INDX is less than head->indx and closer to head->indx than to
+ 0. Search from head->current backward. */
for (element = head->current;
element->prev != 0 && element->indx > indx;
element = element->prev)
;
else
- for (element = head->current;
+ /* INDX is less than head->indx and closer to 0 than to
+ head->indx. Search from head->first forward. */
+ for (element = head->first;
element->next != 0 && element->indx < indx;
element = element->next)
;