
Go to the source code of this file.
Data Types | |
| type | simple_bitmap_def |
Defines | |
| #define | SBITMAP_ELT_BITS ((unsigned) HOST_BITS_PER_WIDE_INT) |
| #define | SBITMAP_ELT_TYPE unsigned HOST_WIDE_INT |
| #define | SBITMAP_SET_SIZE(N) (((N) + SBITMAP_ELT_BITS - 1) / SBITMAP_ELT_BITS) |
| #define | SET_BIT(BITMAP, BITNO) |
| #define | TEST_BIT(BITMAP, BITNO) ((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] >> (BITNO) % SBITMAP_ELT_BITS & 1) |
| #define | RESET_BIT(BITMAP, BITNO) |
| #define | EXECUTE_IF_SET_IN_SBITMAP(SBITMAP, MIN, N, CODE) |
| #define | EXECUTE_IF_SET_IN_SBITMAP_REV(SBITMAP, N, CODE) |
| #define | sbitmap_free(MAP) free(MAP) |
| #define | sbitmap_vector_free(VEC) free(VEC) |
| #define | sbitmap_intersect_of_predecessors sbitmap_intersect_of_predsucc |
| #define | sbitmap_intersect_of_successors sbitmap_intersect_of_predsucc |
| #define | sbitmap_union_of_predecessors sbitmap_union_of_predsucc |
| #define | sbitmap_union_of_successors sbitmap_union_of_predsucc |
Typedefs | |
| typedef struct simple_bitmap_def * | sbitmap |
| typedef SBITMAP_ELT_TYPE * | sbitmap_ptr |
Functions/Subroutines | |
| void dump_sbitmap | PARAMS ((FILE *, sbitmap)) |
| void dump_sbitmap_vector | PARAMS ((FILE *, const char *, const char *, sbitmap *, int)) |
| sbitmap sbitmap_alloc | PARAMS ((unsigned int)) |
| sbitmap *sbitmap_vector_alloc | PARAMS ((unsigned int, unsigned int)) |
| sbitmap sbitmap_resize | PARAMS ((sbitmap, unsigned int, int)) |
| void sbitmap_copy | PARAMS ((sbitmap, sbitmap)) |
| void sbitmap_zero | PARAMS ((sbitmap)) |
| void sbitmap_vector_zero | PARAMS ((sbitmap *, unsigned int)) |
| void sbitmap_union_of_diff | PARAMS ((sbitmap, sbitmap, sbitmap, sbitmap)) |
| void sbitmap_difference | PARAMS ((sbitmap, sbitmap, sbitmap)) |
| void sbitmap_intersect_of_predsucc | PARAMS ((sbitmap, sbitmap *, int, struct int_list **)) |
| void sbitmap_intersection_of_succs | PARAMS ((sbitmap, sbitmap *, int)) |
| #define EXECUTE_IF_SET_IN_SBITMAP | ( | SBITMAP, | |||
| MIN, | |||||
| N, | |||||
| CODE | ) |
Value:
do { \ unsigned int word_num_; \ unsigned int bit_num_ = (MIN) % (unsigned int) SBITMAP_ELT_BITS; \ unsigned int size_ = (SBITMAP)->size; \ SBITMAP_ELT_TYPE *ptr_ = (SBITMAP)->elms; \ \ for (word_num_ = (MIN) / (unsigned int) SBITMAP_ELT_BITS; \ word_num_ < size_; word_num_++, bit_num_ = 0) \ { \ SBITMAP_ELT_TYPE word_ = ptr_[word_num_]; \ \ if (word_ != 0) \ for (; bit_num_ < SBITMAP_ELT_BITS; bit_num_++) \ { \ SBITMAP_ELT_TYPE _mask = (SBITMAP_ELT_TYPE) 1 << bit_num_; \ \ if ((word_ & _mask) != 0) \ { \ word_ &= ~ _mask; \ (N) = word_num_ * SBITMAP_ELT_BITS + bit_num_; \ CODE; \ if (word_ == 0) \ break; \ } \ } \ } \ } while (0)
| #define EXECUTE_IF_SET_IN_SBITMAP_REV | ( | SBITMAP, | |||
| N, | |||||
| CODE | ) |
Value:
do { \ unsigned int word_num_; \ unsigned int bit_num_; \ unsigned int size_ = (SBITMAP)->size; \ SBITMAP_ELT_TYPE *ptr_ = (SBITMAP)->elms; \ \ for (word_num_ = size_; word_num_ > 0; word_num_--) \ { \ SBITMAP_ELT_TYPE word_ = ptr_[word_num_ - 1]; \ \ if (word_ != 0) \ for (bit_num_ = SBITMAP_ELT_BITS; bit_num_ > 0; bit_num_--) \ { \ SBITMAP_ELT_TYPE _mask = (SBITMAP_ELT_TYPE)1 << (bit_num_ - 1);\ \ if ((word_ & _mask) != 0) \ { \ word_ &= ~ _mask; \ (N) = (word_num_ - 1) * SBITMAP_ELT_BITS + bit_num_ - 1;\ CODE; \ if (word_ == 0) \ break; \ } \ } \ } \ } while (0)
| #define RESET_BIT | ( | BITMAP, | |||
| BITNO | ) |
Value:
((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] \ &= ~((SBITMAP_ELT_TYPE) 1 << (BITNO) % SBITMAP_ELT_BITS))
| #define SBITMAP_ELT_BITS ((unsigned) HOST_BITS_PER_WIDE_INT) |
| #define sbitmap_intersect_of_predecessors sbitmap_intersect_of_predsucc |
| #define sbitmap_intersect_of_successors sbitmap_intersect_of_predsucc |
| #define SBITMAP_SET_SIZE | ( | N | ) | (((N) + SBITMAP_ELT_BITS - 1) / SBITMAP_ELT_BITS) |
| #define sbitmap_union_of_predecessors sbitmap_union_of_predsucc |
| #define sbitmap_union_of_successors sbitmap_union_of_predsucc |
| #define SET_BIT | ( | BITMAP, | |||
| BITNO | ) |
Value:
((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] \ |= (SBITMAP_ELT_TYPE) 1 << (BITNO) % SBITMAP_ELT_BITS)
| #define TEST_BIT | ( | BITMAP, | |||
| BITNO | ) | ((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] >> (BITNO) % SBITMAP_ELT_BITS & 1) |
| typedef struct simple_bitmap_def * sbitmap |
| typedef SBITMAP_ELT_TYPE* sbitmap_ptr |
| sbitmap* sbitmap_vector_alloc PARAMS | ( | (unsigned int, unsigned int) | ) |
| sbitmap sbitmap_alloc PARAMS | ( | (unsigned int) | ) |
1.5.6