gcno file: do not stream block flags (PR gcov-profile/80031).
authorMartin Liska <mliska@suse.cz>
Fri, 28 Apr 2017 12:49:26 +0000 (14:49 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 28 Apr 2017 12:49:26 +0000 (12:49 +0000)
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

gcc/ChangeLog
gcc/gcov-dump.c
gcc/gcov-io.h
gcc/gcov.c
gcc/profile.c

index 4b95fc7d1aaa3715e19fd30df49b7200185b5243..8e21c35c97901a9f3522baf96be17d5acec4f762 100644 (file)
@@ -1,3 +1,12 @@
+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.
index 47db17953132deafb6cae86742d80d31c61db5f7..f2522577e9d4f032e2996ed741fc89accaf7fe07 100644 (file)
@@ -318,27 +318,9 @@ tag_function (const char *filename ATTRIBUTE_UNUSED,
 static void
 tag_blocks (const char *filename 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", 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 ());
-       }
-    }
+  printf (" %u blocks", gcov_read_unsigned ());
 }
 
 static void
index 1fb58dd918eefa31e6a6cebf9be818dbf35b007e..1c8ee8f9a2aff55afa1d63f238039540b6f1125e 100644 (file)
@@ -230,7 +230,6 @@ typedef uint64_t gcov_type_unsigned;
 #define GCOV_TAG_FUNCTION_LENGTH (3)
 #define GCOV_TAG_BLOCKS                 ((gcov_unsigned_t)0x01410000)
 #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_LENGTH(NUM)  (1 + (NUM) * 2)
 #define GCOV_TAG_ARCS_NUM(LENGTH)  (((LENGTH) - 1) / 2)
index bb26a1a9787f266f5efa59a979185d88df40203e..63f6a75f1af2069b92a4a18d493dc031f2bbac16 100644 (file)
@@ -129,7 +129,6 @@ typedef struct block_info
 
   /* Block execution count.  */
   gcov_type count;
-  unsigned flags : 12;
   unsigned count_valid : 1;
   unsigned valid_chain : 1;
   unsigned invalid_chain : 1;
@@ -1374,12 +1373,8 @@ read_graph_file (void)
                     bbg_file_name, fn->name);
          else
            {
-             unsigned ix, num_blocks = GCOV_TAG_BLOCKS_NUM (length);
-             fn->num_blocks = num_blocks;
-
+             fn->num_blocks = gcov_read_unsigned ();
              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)
index c6f462d2f7a068a896db3c0750b06f5ac5b55c28..c7eed0e3dfddf5811628a2032c208653245b96c3 100644 (file)
@@ -1195,8 +1195,7 @@ branch_prob (void)
 
       /* Basic block flags */
       offset = gcov_write_tag (GCOV_TAG_BLOCKS);
-      for (i = 0; i != (unsigned) (n_basic_blocks_for_fn (cfun)); i++)
-       gcov_write_unsigned (0);
+      gcov_write_unsigned (n_basic_blocks_for_fn (cfun));
       gcov_write_length (offset);
 
       /* Arcs */