This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Use HOST_WIDEST_INT in bitmap statistics, PR 39301


Richard Guenther asked me to post this to gcc-patches.

Brad

	PR 39301
	* hwint.h: Add macro HOST_WIDEST_INT_PRINT.
	* bitmap.c (bitmap_descriptor): Make fields HOST_WIDEST_INT.
	(output_info): Make field HOST_WIDEST_INT.
	(print_statistics): Use HOST_WIDEST_INT_PRINT.
	(dump_bitmat_statistics): Same.


Index: gcc/bitmap.c =================================================================== --- gcc/bitmap.c (revision 147594) +++ gcc/bitmap.c (working copy) @@ -37,10 +37,10 @@ const char *function; const char *file; int line; - int allocated; int created; - int peak; - int current; + HOST_WIDEST_INT allocated; + HOST_WIDEST_INT peak; + HOST_WIDEST_INT current; int nsearches; };

@@ -2013,8 +2013,8 @@
 /* Used to accumulate statistics about bitmap sizes.  */
 struct output_info
 {
+  HOST_WIDEST_INT size;
   int count;
-  int size;
 };

/* Called via htab_traverse. Output bitmap descriptor pointed out by SLOT
@@ -2034,8 +2034,9 @@
s1 = s2 + 4;
sprintf (s, "%s:%i (%s)", s1, d->line, d->function);
s[41] = 0;
- fprintf (stderr, "%-41s %6d %10d %10d %10d %10d\n", s,
- d->created, d->allocated, d->peak, d->current, d->nsearches);
+ fprintf (stderr, "%-41s %8d %15"HOST_WIDEST_INT_PRINT"d %15"
+ HOST_WIDEST_INT_PRINT"d %15"HOST_WIDEST_INT_PRINT"d %10d\n",
+ s, d->created, d->allocated, d->peak, d->current, d- >nsearches);
i->size += d->allocated;
i->count += d->created;
}
@@ -2053,14 +2054,14 @@
return;


fprintf (stderr, "\nBitmap Overall "
- "Allocated Peak Leak searched "
+ " Allocated Peak Leak searched "
" per search\n");
fprintf (stderr, "----------------------------------------------------------------------- ----------\n");
info.count = 0;
info.size = 0;
htab_traverse (bitmap_desc_hash, print_statistics, &info);
fprintf (stderr, "----------------------------------------------------------------------- ----------\n");
- fprintf (stderr, "%-40s %7d %10d\n",
+ fprintf (stderr, "%-40s %9d %15"HOST_WIDEST_INT_PRINT"d\n",
"Total", info.count, info.size);
fprintf (stderr, "----------------------------------------------------------------------- ----------\n");
#endif
Index: gcc/hwint.h
===================================================================
--- gcc/hwint.h (revision 147594)
+++ gcc/hwint.h (working copy)
@@ -99,6 +99,7 @@
|| (HOST_BITS_PER_LONGLONG < 64 && HOST_BITS_PER___INT64 < 64)
# define HOST_WIDEST_INT HOST_WIDE_INT
# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_WIDE_INT
+# define HOST_WIDEST_INT_PRINT HOST_WIDE_INT_PRINT
# define HOST_WIDEST_INT_PRINT_DEC HOST_WIDE_INT_PRINT_DEC
# define HOST_WIDEST_INT_PRINT_DEC_C HOST_WIDE_INT_PRINT_DEC_C
# define HOST_WIDEST_INT_PRINT_UNSIGNED HOST_WIDE_INT_PRINT_UNSIGNED
@@ -116,6 +117,7 @@
#error "This line should be impossible to reach"
# endif
# endif
+# define HOST_WIDEST_INT_PRINT HOST_LONG_LONG_FORMAT
# define HOST_WIDEST_INT_PRINT_DEC "%" HOST_LONG_LONG_FORMAT "d"
# define HOST_WIDEST_INT_PRINT_DEC_C "%" HOST_LONG_LONG_FORMAT "dLL"
# define HOST_WIDEST_INT_PRINT_UNSIGNED "%" HOST_LONG_LONG_FORMAT "u"



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]