* bitmap.c (bitmap_clear_bit): Micro optimize.
From-SVN: r161189
This commit is contained in:
parent
b0256cb6d2
commit
07309d58d0
|
@ -1,3 +1,7 @@
|
|||
2010-06-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* bitmap.c (bitmap_clear_bit): Micro optimize.
|
||||
|
||||
2010-06-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (SWI1248x): New mode iterator.
|
||||
|
|
12
gcc/bitmap.c
12
gcc/bitmap.c
|
@ -624,11 +624,13 @@ bitmap_clear_bit (bitmap head, int bit)
|
|||
BITMAP_WORD bit_val = ((BITMAP_WORD) 1) << bit_num;
|
||||
bool res = (ptr->bits[word_num] & bit_val) != 0;
|
||||
if (res)
|
||||
ptr->bits[word_num] &= ~bit_val;
|
||||
|
||||
/* If we cleared the entire word, free up the element. */
|
||||
if (bitmap_element_zerop (ptr))
|
||||
bitmap_element_free (head, ptr);
|
||||
{
|
||||
ptr->bits[word_num] &= ~bit_val;
|
||||
/* If we cleared the entire word, free up the element. */
|
||||
if (!ptr->bits[word_num]
|
||||
&& bitmap_element_zerop (ptr))
|
||||
bitmap_element_free (head, ptr);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue