public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Eugene Rozenfeld <erozen@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org
Subject: [gcc r13-3495] Start using discriminators in AutoFDO.
Date: Tue, 25 Oct 2022 21:04:08 +0000 (GMT)	[thread overview]
Message-ID: <20221025210408.518C63857833@sourceware.org> (raw)

https://gcc.gnu.org/g:65f5fa23844b55e3c6359e1612e6fdd4d10950d0

commit r13-3495-g65f5fa23844b55e3c6359e1612e6fdd4d10950d0
Author: Eugene Rozenfeld <erozen@microsoft.com>
Date:   Mon Apr 25 11:45:43 2022 -0700

    Start using discriminators in AutoFDO.
    
    Tested on x86_64-pc-linux-gnu.
    
    gcc/ChangeLog:
    
            * auto-profile.cc (get_combined_location): Include discriminator in the
            returned combined location.
            (read_function_instance): Read discriminators from profiles.

Diff:
---
 gcc/auto-profile.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc
index ca48404eaf1..97307321cbf 100644
--- a/gcc/auto-profile.cc
+++ b/gcc/auto-profile.cc
@@ -363,7 +363,8 @@ get_combined_location (location_t loc, tree decl)
   /* TODO: allow more bits for line and less bits for discriminator.  */
   if (LOCATION_LINE (loc) - DECL_SOURCE_LINE (decl) >= (1<<16))
     warning_at (loc, OPT_Woverflow, "offset exceeds 16 bytes");
-  return ((LOCATION_LINE (loc) - DECL_SOURCE_LINE (decl)) << 16);
+  return ((LOCATION_LINE (loc) - DECL_SOURCE_LINE (decl)) << 16)
+	 | get_discriminator_from_loc (loc);
 }
 
 /* Return the function decl of a given lexical BLOCK.  */
@@ -652,7 +653,7 @@ function_instance::read_function_instance (function_instance_stack *stack,
 
   for (unsigned i = 0; i < num_pos_counts; i++)
     {
-      unsigned offset = gcov_read_unsigned () & 0xffff0000;
+      unsigned offset = gcov_read_unsigned ();
       unsigned num_targets = gcov_read_unsigned ();
       gcov_type count = gcov_read_counter ();
       s->pos_counts[offset].count = count;

                 reply	other threads:[~2022-10-25 21:04 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221025210408.518C63857833@sourceware.org \
    --to=erozen@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).