From 07bd2703047d222ed7ff189d86350e73c5cc2c9e Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Thu, 15 Jul 2021 17:26:45 +0200 Subject: [PATCH] Change the type of return value of profile_count::value to uint64_t The field in which profile_count holds the count has 61 bits but the getter method only returns it as a 32 bit number. The getter is (and should be) only used for dumping but even dumps are better when they do not lie. gcc/ChangeLog: 2021-07-13 Martin Jambor * profile-count.h (profile_count::value): Change the return type to uint64_t. * gimple-pretty-print.c (dump_gimple_bb_header): Adjust print statement. * tree-cfg.c (dump_function_to_file): Likewise. --- gcc/gimple-pretty-print.c | 2 +- gcc/profile-count.h | 2 +- gcc/tree-cfg.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c index 39c5775..d6e63d6 100644 --- a/gcc/gimple-pretty-print.c +++ b/gcc/gimple-pretty-print.c @@ -2831,7 +2831,7 @@ dump_gimple_bb_header (FILE *outf, basic_block bb, int indent, if (bb->loop_father->header == bb) fprintf (outf, ",loop_header(%d)", bb->loop_father->num); if (bb->count.initialized_p ()) - fprintf (outf, ",%s(%d)", + fprintf (outf, ",%s(%" PRIu64 ")", profile_quality_as_string (bb->count.quality ()), bb->count.value ()); fprintf (outf, "):\n"); diff --git a/gcc/profile-count.h b/gcc/profile-count.h index f2b1e3a..c7a45ac 100644 --- a/gcc/profile-count.h +++ b/gcc/profile-count.h @@ -804,7 +804,7 @@ public: } /* Get the value of the count. */ - uint32_t value () const { return m_val; } + uint64_t value () const { return m_val; } /* Get the quality of the count. */ enum profile_quality quality () const { return m_quality; } diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 2820847..c8b0f7b 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -8086,7 +8086,7 @@ dump_function_to_file (tree fndecl, FILE *file, dump_flags_t flags) { basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (cfun); if (bb->count.initialized_p ()) - fprintf (file, ",%s(%d)", + fprintf (file, ",%s(%" PRIu64 ")", profile_quality_as_string (bb->count.quality ()), bb->count.value ()); fprintf (file, ")\n%s (", function_name (fun)); -- 2.7.4