227 uint64_t nsearches, uint64_t search_iter)
246 char *location_string = loc->
to_string ();
248 fprintf (stderr,
"%-48s " PRsa (9)
":%5.1f%%"
256 loc->
m_ggc ?
"ggc" :
"heap");
258 free (location_string);
265 fprintf (stderr,
"%-48s %11s%16s%17s%12s%12s%10s\n", name,
"Leak",
"Peak",
266 "Times",
"N searches",
"Search iter",
"Type");
283#define BITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG * 1u)
287#ifndef BITMAP_ELEMENT_WORDS
288#define BITMAP_ELEMENT_WORDS ((128 + BITMAP_WORD_BITS - 1) / BITMAP_WORD_BITS)
293#define BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS)
417#define bitmap_compl_and(DST, A, B) bitmap_and_compl (DST, B, A)
474 head->alloc_descriptor = 0;
476 if (GATHER_STATISTICS)
494#define BITMAP_ALLOC bitmap_alloc
496#define BITMAP_GGC_ALLOC bitmap_gc_alloc
516#define BITMAP_FREE(BITMAP) \
517 ((void) (bitmap_obstack_free ((bitmap) BITMAP), (BITMAP) = (bitmap) NULL))
543 unsigned start_bit,
unsigned *bit_no)
577 start_bit += !bi->
bits;
587 unsigned start_bit,
unsigned *bit_no)
589 bi->
elt1 = map1->first;
590 bi->
elt2 = map2->first;
647 start_bit += !bi->
bits;
657 unsigned start_bit,
unsigned *bit_no)
659 bi->
elt1 = map1->first;
660 bi->
elt2 = map2->first;
697 start_bit += !bi->
bits;
717#if (GCC_VERSION >= 3004)
719 unsigned int n = __builtin_ctzl (bi->
bits);
725 while (!(bi->
bits & 1))
921#ifndef EXECUTE_IF_SET_IN_BITMAP
923#define EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER) \
924 for (bmp_iter_set_init (&(ITER), (BITMAP), (MIN), &(BITNUM)); \
925 bmp_iter_set (&(ITER), &(BITNUM)); \
926 bmp_iter_next (&(ITER), &(BITNUM)))
934#define EXECUTE_IF_AND_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) \
935 for (bmp_iter_and_init (&(ITER), (BITMAP1), (BITMAP2), (MIN), \
937 bmp_iter_and (&(ITER), &(BITNUM)); \
938 bmp_iter_next (&(ITER), &(BITNUM)))
945#define EXECUTE_IF_AND_COMPL_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) \
946 for (bmp_iter_and_compl_init (&(ITER), (BITMAP1), (BITMAP2), (MIN), \
948 bmp_iter_and_compl (&(ITER), &(BITNUM)); \
949 bmp_iter_next (&(ITER), &(BITNUM)))
977template<
typename T,
typename Traits = array_traits<T> >
995template<
typename T,
typename Traits>
1006 *
sizeof (
typename Traits::element_type)
1007 * Traits::constant_size,
1015template<
typename T,
typename Traits>
1033 unsigned int indx = 0;
1034 for (
size_t array_base = 0;
1036 array_base += array_step, indx += 1)
1039 unsigned int array_count
1045 for (
size_t i = 1;
i < array_count; ++
i)
1046 ior |= array_elements[array_base +
i];
1067 size_t array_i = array_base;
1072 for (
unsigned int shift = 0;
1074 shift += array_element_bits)
1075 word |= array_elements[array_i++] <<
shift;
1083 unsigned int word_i = 0;
1084 for (
unsigned int i = 0;
i < array_count; ++
i)
1085 for (
unsigned int shift = 0;
shift < array_element_bits;
1088 = array_elements[array_base +
i] >>
shift;
static int array_size
Definition bb-reorder.cc:174
bitmap_obstack bitmap_default_obstack
Definition bitmap.cc:81
mem_alloc_description< bitmap_usage > bitmap_mem_desc
Definition bitmap.cc:42
bitmap_element bitmap_zero_bits
Definition bitmap.cc:80
bitmap bitmap_gc_alloc(ALONE_CXX_MEM_STAT_INFO)
unsigned long BITMAP_WORD
Definition bitmap.h:280
void bitmap_tree_view(bitmap)
Definition bitmap.cc:675
bool bitmap_ior_into(bitmap, const_bitmap)
Definition bitmap.cc:2122
void bitmap_obstack_free(bitmap)
Definition bitmap.cc:796
bool bitmap_equal_p(const_bitmap, const_bitmap)
Definition bitmap.cc:2355
void bitmap_obstack_release(bitmap_obstack *)
Definition bitmap.cc:734
void bitmap_initialize(bitmap head, bitmap_obstack *obstack CXX_MEM_STAT_INFO)
Definition bitmap.h:469
bool bitmap_single_bit_set_p(const_bitmap)
Definition bitmap.cc:1164
void bitmap_register(bitmap MEM_STAT_DECL)
void bitmap_copy(bitmap, const_bitmap)
Definition bitmap.cc:832
bitmap_obstack bitmap_default_obstack
Definition bitmap.cc:81
void bitmap_and(bitmap, const_bitmap, const_bitmap)
Definition bitmap.cc:1373
void bitmap_print(FILE *, const_bitmap, const char *, const char *)
Definition bitmap.cc:2815
void debug_bitmap_file(FILE *, const_bitmap)
Definition bitmap.cc:2782
unsigned bitmap_clear_first_set_bit(bitmap)
Definition bitmap.cc:1281
void bitmap_obstack_initialize(bitmap_obstack *)
Definition bitmap.cc:709
unsigned bitmap_last_set_bit(const_bitmap)
Definition bitmap.cc:1354
void bitmap_release(bitmap head)
Definition bitmap.h:484
bool bmp_iter_and_compl(bitmap_iterator *bi, unsigned *bit_no)
Definition bitmap.h:853
void bmp_iter_next_bit(bitmap_iterator *bi, unsigned *bit_no)
Definition bitmap.h:715
bool bitmap_and_compl(bitmap, const_bitmap, const_bitmap)
Definition bitmap.cc:1528
void bitmap_clear(bitmap)
Definition bitmap.cc:694
void dump_bitmap(FILE *file, const_bitmap map)
Definition bitmap.h:500
void bitmap_list_view(bitmap)
Definition bitmap.cc:611
void bmp_iter_and_compl_init(bitmap_iterator *bi, const_bitmap map1, const_bitmap map2, unsigned start_bit, unsigned *bit_no)
Definition bitmap.h:655
void bitmap_xor_into(bitmap, const_bitmap)
Definition bitmap.cc:2293
bool bitmap_clear_bit(bitmap, int)
Definition bitmap.cc:895
void bitmap_clear_range(bitmap, unsigned int, unsigned int)
Definition bitmap.cc:1806
bool bitmap_empty_p(const_bitmap map)
Definition bitmap.h:395
bool bitmap_and_into(bitmap, const_bitmap)
Definition bitmap.cc:1433
void bitmap_xor(bitmap, const_bitmap, const_bitmap)
Definition bitmap.cc:2212
unsigned long bitmap_count_bits(const_bitmap)
Definition bitmap.cc:1112
bool bitmap_and_compl_into(bitmap, const_bitmap)
Definition bitmap.cc:1643
unsigned bitmap_first_set_bit(const_bitmap)
Definition bitmap.cc:1272
unsigned long bitmap_count_unique_bits(const_bitmap, const_bitmap)
Definition bitmap.cc:1127
void dump_bitmap_statistics(void)
Definition bitmap.cc:2854
hashval_t bitmap_hash(const_bitmap)
Definition bitmap.cc:2706
void bmp_iter_next(bitmap_iterator *bi, unsigned *bit_no)
Definition bitmap.h:706
void bitmap_move(bitmap, bitmap)
Definition bitmap.cc:872
bool bmp_iter_and(bitmap_iterator *bi, unsigned *bit_no)
Definition bitmap.h:784
BITMAP_WORD bitmap_get_aligned_chunk(const_bitmap, unsigned int, unsigned int)
Definition bitmap.cc:1035
void debug_bitmap(const_bitmap)
Definition bitmap.cc:2806
#define BITMAP_ELEMENT_WORDS
Definition bitmap.h:288
bitmap bitmap_alloc(bitmap_obstack *obstack CXX_MEM_STAT_INFO)
void bmp_iter_and_init(bitmap_iterator *bi, const_bitmap map1, const_bitmap map2, unsigned start_bit, unsigned *bit_no)
Definition bitmap.h:586
#define BITMAP_ELEMENT_ALL_BITS
Definition bitmap.h:293
bool bitmap_ior_into_and_free(bitmap, bitmap *)
Definition bitmap.cc:2163
void bitmap_set_aligned_chunk(bitmap, unsigned int, unsigned int, BITMAP_WORD)
Definition bitmap.cc:991
bool bitmap_ior(bitmap, const_bitmap, const_bitmap)
Definition bitmap.cc:2072
bool bitmap_ior_and_compl_into(bitmap A, const_bitmap B, const_bitmap C)
Definition bitmap.cc:2548
void bmp_iter_set_init(bitmap_iterator *bi, const_bitmap map, unsigned start_bit, unsigned *bit_no)
Definition bitmap.h:542
bool bitmap_ior_and_compl(bitmap DST, const_bitmap A, const_bitmap B, const_bitmap C)
Definition bitmap.cc:2440
bool bmp_iter_set(bitmap_iterator *bi, unsigned *bit_no)
Definition bitmap.h:738
void bitmap_set_range(bitmap, unsigned int, unsigned int)
Definition bitmap.cc:1698
unsigned bitmap_clear_last_set_bit(bitmap)
Definition bitmap.cc:1363
bool bitmap_ior_and_into(bitmap DST, const_bitmap B, const_bitmap C)
Definition bitmap.cc:2625
#define BITMAP_WORD_BITS
Definition bitmap.h:283
bool bitmap_intersect_p(const_bitmap, const_bitmap)
Definition bitmap.cc:2379
bool bitmap_intersect_compl_p(const_bitmap, const_bitmap)
Definition bitmap.cc:2409
void bitmap_compl_and_into(bitmap, const_bitmap)
Definition bitmap.cc:1941
bitmap_head m_bits
Definition bitmap.h:970
auto_bitmap(ALONE_CXX_MEM_STAT_INFO)
Definition bitmap.h:955
~auto_bitmap()
Definition bitmap.h:959
auto_bitmap(auto_bitmap &&)=delete
auto_bitmap & operator=(const auto_bitmap &)=delete
auto_bitmap(bitmap_obstack *o CXX_MEM_STAT_INFO)
Definition bitmap.h:957
auto_bitmap(const auto_bitmap &)=delete
base_bitmap_view(const base_bitmap_view &)
bitmap_head m_head
Definition bitmap.h:989
Traits::element_type array_element_type
Definition bitmap.h:981
base_bitmap_view(const T &, bitmap_element *)
Definition bitmap.h:1016
bitmap_element * first
Definition bitmap.h:349
CONSTEXPR bitmap_head()
Definition bitmap.h:334
unsigned * get_descriptor()
Definition bitmap.h:361
unsigned alloc_descriptor
Definition bitmap.h:346
unsigned int indx
Definition bitmap.h:339
unsigned tree_form
Definition bitmap.h:342
bitmap_obstack * obstack
Definition bitmap.h:353
bitmap_element * current
Definition bitmap.h:351
static bitmap_obstack crashme
Definition bitmap.h:332
void dump()
Definition bitmap.cc:2890
unsigned padding
Definition bitmap.h:344
static void dump_header(const char *name)
Definition bitmap.h:263
bitmap_usage(size_t allocated, size_t times, size_t peak, uint64_t nsearches, uint64_t search_iter)
Definition bitmap.h:226
void dump(mem_location *loc, const mem_usage &total) const
Definition bitmap.h:244
bitmap_usage()
Definition bitmap.h:224
uint64_t m_nsearches
Definition bitmap.h:270
bitmap_usage operator+(const bitmap_usage &second)
Definition bitmap.h:233
uint64_t m_search_iter
Definition bitmap.h:272
static const size_t num_bitmap_elements
Definition bitmap.h:1005
bitmap_element m_bitmap_elements[num_bitmap_elements]
Definition bitmap.h:1009
bitmap_view(const T &array)
Definition bitmap.h:999
Definition mem-stats.h:278
Definition mem-stats.h:35
char * to_string()
Definition mem-stats.h:93
bool m_ggc
Definition mem-stats.h:123
mem_usage()
Definition mem-stats.h:131
size_t m_allocated
Definition mem-stats.h:253
size_t m_peak
Definition mem-stats.h:257
size_t m_times
Definition mem-stats.h:255
static float get_percent(size_t nominator, size_t denominator)
Definition mem-stats.h:230
bool debug
Definition collect-utils.cc:34
const class bitmap_head * const_bitmap
Definition coretypes.h:52
#define GTY(x)
Definition coretypes.h:41
class bitmap_head * bitmap
Definition coretypes.h:51
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
static struct obstack obstack
Definition gcc.cc:366
#define CHAR_BIT
Definition genautomata.cc:120
#define bitmap_bit_p(bitstring, bitno)
Definition genautomata.cc:3429
#define bitmap_set_bit(bitstring, bitno)
Definition genautomata.cc:3419
static struct token T
Definition gengtype-parse.cc:45
unsigned int shift
Definition ggc-page.cc:233
i
Definition poly-int.h:776
#define ALONE_CXX_MEM_STAT_INFO
Definition statistics.h:57
#define PASS_MEM_STAT
Definition statistics.h:54
#define MEM_STAT_DECL
Definition statistics.h:52
#define CXX_MEM_STAT_INFO
Definition statistics.h:58
struct bitmap_element * prev
Definition bitmap.h:320
unsigned int indx
Definition bitmap.h:322
struct bitmap_element * next
Definition bitmap.h:317
BITMAP_WORD bits[BITMAP_ELEMENT_WORDS]
Definition bitmap.h:324
BITMAP_WORD bits
Definition bitmap.h:535
bitmap_element * elt2
Definition bitmap.h:527
bitmap_element * elt1
Definition bitmap.h:524
unsigned word_no
Definition bitmap.h:530
struct obstack obstack
Definition bitmap.h:299
bitmap_head * heads
Definition bitmap.h:298
struct bitmap_element * elements
Definition bitmap.h:297
Definition collect2.cc:175
struct id * first
Definition collect2.cc:176
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:817
#define CEIL(x, y)
Definition system.h:403
#define true
Definition system.h:890
#define false
Definition system.h:891
#define STATIC_CONSTANT_P(X)
Definition system.h:860
#define SIZE_AMOUNT(size)
Definition system.h:1238
#define MIN(X, Y)
Definition system.h:399
#define STATIC_ASSERT(X)
Definition system.h:867
#define PRsa(n)
Definition system.h:1242
#define gcc_checking_assert(EXPR)
Definition system.h:824