Mercurial > hg > CbC > CbC_gcc
diff gcc/ebitmap.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/ebitmap.c Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/ebitmap.c Mon May 24 12:47:05 2010 +0900 @@ -1,5 +1,5 @@ /* Sparse array-based bitmaps. - Copyright (C) 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Daniel Berlin <dberlin@dberlin.org> This file is part of GCC. @@ -254,8 +254,13 @@ if (!have_eltwordindex) eltwordindex = sbitmap_popcount (map->wordmask, wordindex); - if (map->cache != NULL && map->cacheindex == eltwordindex) - map->cache = NULL; + if (map->cache != NULL) + { + if (map->cacheindex == wordindex) + map->cache = NULL; + else if (map->cacheindex > wordindex) + map->cache = map->cache - 1; + } RESET_BIT (map->wordmask, wordindex); @@ -457,7 +462,7 @@ for (i = 0; i < dst->numwords; i++) gcc_assert (dst->elts[i] != 0); - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); } @@ -529,7 +534,7 @@ for (i = 0; i < dst->numwords; i++) gcc_assert (dst->elts[i] != 0); - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); } @@ -652,7 +657,7 @@ EXECUTE_IF_SET_IN_EBITMAP (dstcopy, 0, i, ebi) gcc_assert (ebitmap_bit_p (dst, i)); - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (changed == !ebitmap_equal_p (dst, dstcopy)); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); @@ -772,7 +777,7 @@ EXECUTE_IF_SET_IN_EBITMAP (src2, 0, i, ebi) gcc_assert (ebitmap_bit_p (dst, i)); } - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (changed == !ebitmap_equal_p (dst, dstcopy)); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); @@ -848,7 +853,7 @@ gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == neweltindex); - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (changed == !ebitmap_equal_p (dst, dstcopy)); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); @@ -950,7 +955,7 @@ for (i = 0; i < dst->numwords; i++) gcc_assert (dst->elts[i] != 0); - verify_popcount (dst->wordmask); + sbitmap_verify_popcount (dst->wordmask); gcc_assert (sbitmap_popcount (dst->wordmask, dst->wordmask->n_bits) == dst->numwords); }