
Go to the source code of this file.
| #define EXECUTE_IF_SET_IN_SBITMAP | ( | SBITMAP, | |||
| MIN, | |||||
| N, | |||||
| CODE | ) |
Value:
do { \ unsigned int word_num_ = (MIN) / (unsigned int) SBITMAP_ELT_BITS; \ unsigned int bit_num_ = (MIN) % (unsigned int) SBITMAP_ELT_BITS; \ unsigned int size_ = (SBITMAP)->size; \ SBITMAP_ELT_TYPE *ptr_ = (SBITMAP)->elms; \ SBITMAP_ELT_TYPE word_; \ \ if (word_num_ < size_) \ { \ word_ = ptr_[word_num_] >> bit_num_; \ \ while (1) \ { \ for (; word_ != 0; word_ >>= 1, bit_num_++) \ { \ if ((word_ & 1) != 0) \ { \ (N) = word_num_ * SBITMAP_ELT_BITS + bit_num_; \ CODE; \ } \ } \ word_num_++; \ if (word_num_ >= size_) \ break; \ bit_num_ = 0, word_ = ptr_[word_num_]; \ } \ } \ } 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_WIDEST_FAST_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 |
Referenced by compute_available().
Referenced by compute_antinout_edge(), and compute_code_hoist_vbeinout().
Referenced by compute_out(), compute_rd(), and link_btr_uses().
| sbitmap* sbitmap_vector_alloc | ( | unsigned | int, | |
| unsigned | int | |||
| ) |
1.5.6