Commit 34769baf by Martin Liska Committed by Martin Liska

gcno file: do not stream block flags (PR gcov-profile/80031).

2017-04-28  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/80031
	* gcov-dump.c (tag_blocks): Just print number of basic blocks.
	* gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro.
	* gcov.c (read_graph_file): Read just number of blocks.
	* profile.c (branch_prob): Do not stream 0 flags per a basic
	block.

From-SVN: r247370
parent 5c5059bc
2017-04-28 Martin Liska <mliska@suse.cz> 2017-04-28 Martin Liska <mliska@suse.cz>
PR gcov-profile/80031
* gcov-dump.c (tag_blocks): Just print number of basic blocks.
* gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro.
* gcov.c (read_graph_file): Read just number of blocks.
* profile.c (branch_prob): Do not stream 0 flags per a basic
block.
2017-04-28 Martin Liska <mliska@suse.cz>
* gcov-dump.c (tag_*): Add new argument to declarations. * gcov-dump.c (tag_*): Add new argument to declarations.
(dump_gcov_file): Likewise. (dump_gcov_file): Likewise.
(tag_blocks): Add and use new argument depth. (tag_blocks): Add and use new argument depth.
......
...@@ -318,27 +318,9 @@ tag_function (const char *filename ATTRIBUTE_UNUSED, ...@@ -318,27 +318,9 @@ tag_function (const char *filename ATTRIBUTE_UNUSED,
static void static void
tag_blocks (const char *filename ATTRIBUTE_UNUSED, tag_blocks (const char *filename ATTRIBUTE_UNUSED,
unsigned tag ATTRIBUTE_UNUSED, unsigned length ATTRIBUTE_UNUSED, unsigned tag ATTRIBUTE_UNUSED, unsigned length ATTRIBUTE_UNUSED,
unsigned depth) unsigned depth ATTRIBUTE_UNUSED)
{ {
unsigned n_blocks = GCOV_TAG_BLOCKS_NUM (length); printf (" %u blocks", gcov_read_unsigned ());
printf (" %u blocks", n_blocks);
if (flag_dump_contents)
{
unsigned ix;
for (ix = 0; ix != n_blocks; ix++)
{
if (!(ix & 7))
{
printf ("\n");
print_prefix (filename, depth, gcov_position ());
printf (VALUE_PADDING_PREFIX VALUE_PREFIX, ix);
}
printf ("%04x ", gcov_read_unsigned ());
}
}
} }
static void static void
......
...@@ -230,7 +230,6 @@ typedef uint64_t gcov_type_unsigned; ...@@ -230,7 +230,6 @@ typedef uint64_t gcov_type_unsigned;
#define GCOV_TAG_FUNCTION_LENGTH (3) #define GCOV_TAG_FUNCTION_LENGTH (3)
#define GCOV_TAG_BLOCKS ((gcov_unsigned_t)0x01410000) #define GCOV_TAG_BLOCKS ((gcov_unsigned_t)0x01410000)
#define GCOV_TAG_BLOCKS_LENGTH(NUM) (NUM) #define GCOV_TAG_BLOCKS_LENGTH(NUM) (NUM)
#define GCOV_TAG_BLOCKS_NUM(LENGTH) (LENGTH)
#define GCOV_TAG_ARCS ((gcov_unsigned_t)0x01430000) #define GCOV_TAG_ARCS ((gcov_unsigned_t)0x01430000)
#define GCOV_TAG_ARCS_LENGTH(NUM) (1 + (NUM) * 2) #define GCOV_TAG_ARCS_LENGTH(NUM) (1 + (NUM) * 2)
#define GCOV_TAG_ARCS_NUM(LENGTH) (((LENGTH) - 1) / 2) #define GCOV_TAG_ARCS_NUM(LENGTH) (((LENGTH) - 1) / 2)
......
...@@ -129,7 +129,6 @@ typedef struct block_info ...@@ -129,7 +129,6 @@ typedef struct block_info
/* Block execution count. */ /* Block execution count. */
gcov_type count; gcov_type count;
unsigned flags : 12;
unsigned count_valid : 1; unsigned count_valid : 1;
unsigned valid_chain : 1; unsigned valid_chain : 1;
unsigned invalid_chain : 1; unsigned invalid_chain : 1;
...@@ -1374,12 +1373,8 @@ read_graph_file (void) ...@@ -1374,12 +1373,8 @@ read_graph_file (void)
bbg_file_name, fn->name); bbg_file_name, fn->name);
else else
{ {
unsigned ix, num_blocks = GCOV_TAG_BLOCKS_NUM (length); fn->num_blocks = gcov_read_unsigned ();
fn->num_blocks = num_blocks;
fn->blocks = XCNEWVEC (block_t, fn->num_blocks); fn->blocks = XCNEWVEC (block_t, fn->num_blocks);
for (ix = 0; ix != num_blocks; ix++)
fn->blocks[ix].flags = gcov_read_unsigned ();
} }
} }
else if (fn && tag == GCOV_TAG_ARCS) else if (fn && tag == GCOV_TAG_ARCS)
......
...@@ -1195,8 +1195,7 @@ branch_prob (void) ...@@ -1195,8 +1195,7 @@ branch_prob (void)
/* Basic block flags */ /* Basic block flags */
offset = gcov_write_tag (GCOV_TAG_BLOCKS); offset = gcov_write_tag (GCOV_TAG_BLOCKS);
for (i = 0; i != (unsigned) (n_basic_blocks_for_fn (cfun)); i++) gcov_write_unsigned (n_basic_blocks_for_fn (cfun));
gcov_write_unsigned (0);
gcov_write_length (offset); gcov_write_length (offset);
/* Arcs */ /* Arcs */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment