Mercurial > hg > CbC > CbC_gcc
comparison gcc/ebitmap.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
24 | 24 |
25 #define EBITMAP_ELT_BITS ((unsigned) HOST_BITS_PER_WIDEST_FAST_INT) | 25 #define EBITMAP_ELT_BITS ((unsigned) HOST_BITS_PER_WIDEST_FAST_INT) |
26 #define EBITMAP_ELT_TYPE unsigned HOST_WIDEST_FAST_INT | 26 #define EBITMAP_ELT_TYPE unsigned HOST_WIDEST_FAST_INT |
27 | 27 |
28 typedef struct ebitmap_def | 28 typedef struct ebitmap_def |
29 { | 29 { |
30 unsigned int n_elts; /* number of elements in the array. */ | 30 unsigned int n_elts; /* number of elements in the array. */ |
31 sbitmap wordmask; /* wordmask saying which words are | 31 sbitmap wordmask; /* wordmask saying which words are |
32 nonzero. */ | 32 nonzero. */ |
33 unsigned int numwords; /* number of nonzero words. */ | 33 unsigned int numwords; /* number of nonzero words. */ |
34 unsigned int cacheindex; /* which word cache is. */ | 34 unsigned int cacheindex; /* which word cache is. */ |
62 extern bool ebitmap_ior_and_compl_into (ebitmap, ebitmap, ebitmap); | 62 extern bool ebitmap_ior_and_compl_into (ebitmap, ebitmap, ebitmap); |
63 extern bool ebitmap_equal_p (ebitmap, ebitmap); | 63 extern bool ebitmap_equal_p (ebitmap, ebitmap); |
64 extern void ebitmap_clear (ebitmap); | 64 extern void ebitmap_clear (ebitmap); |
65 extern int ebitmap_last_set_bit (ebitmap); | 65 extern int ebitmap_last_set_bit (ebitmap); |
66 extern void debug_ebitmap (ebitmap); | 66 extern void debug_ebitmap (ebitmap); |
67 extern void dump_ebitmap (FILE *, ebitmap); | |
68 extern unsigned long ebitmap_popcount(ebitmap, unsigned long); | 67 extern unsigned long ebitmap_popcount(ebitmap, unsigned long); |
69 | 68 |
70 /* The iterator for ebitmap. */ | 69 /* The iterator for ebitmap. */ |
71 typedef struct { | 70 typedef struct { |
72 /* The pointer to the first word of the bitmap. */ | 71 /* The pointer to the first word of the bitmap. */ |
85 EBITMAP_ELT_TYPE word; | 84 EBITMAP_ELT_TYPE word; |
86 | 85 |
87 /* The word mask iterator. */ | 86 /* The word mask iterator. */ |
88 sbitmap_iterator maskiter; | 87 sbitmap_iterator maskiter; |
89 } ebitmap_iterator; | 88 } ebitmap_iterator; |
90 | 89 |
91 static inline void | 90 static inline void |
92 ebitmap_iter_init (ebitmap_iterator *i, ebitmap bmp, unsigned int min) | 91 ebitmap_iter_init (ebitmap_iterator *i, ebitmap bmp, unsigned int min) |
93 { | 92 { |
94 sbitmap_iter_init (&i->maskiter, bmp->wordmask, | 93 sbitmap_iter_init (&i->maskiter, bmp->wordmask, |
95 min / EBITMAP_ELT_BITS); | 94 min / EBITMAP_ELT_BITS); |
96 i->size = bmp->numwords; | 95 i->size = bmp->numwords; |
97 if (i->size == 0) | 96 if (i->size == 0) |
98 { | 97 { |
99 i->ptr = NULL; | 98 i->ptr = NULL; |