public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/112657] [13/14 Regression] missed optimization: cmove not used with multiple returns
Date: Wed, 22 Nov 2023 13:35:53 +0000	[thread overview]
Message-ID: <bug-112657-4-VzZD3nR8M0@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-112657-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112657

--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The negative return value branch predictor is set to have 98% hitrate (measured
on SPEC2k17 some time ago).  There is --param predictable-branch-outcome that
is also set to 2% so indeed we consider the branch as well predictable by this
heuristics.

Reducing --param should make cmov to happen.

With profile_probability data type we could try something smarter on guessing
if given branch is predictable (such as ignoring guessed values and let
predictor to optionally mark branches as (un)predictable). But it is not quite
clear to me what desired behavior would be...

Guessing predictability of data branches is generally quite hard problem.
Predictablity of loop branches is easier, but we hardly apply BRANCH_COST on
branch closing loop since those are not if-conversion candidates.

  parent reply	other threads:[~2023-11-22 13:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-21 21:42 [Bug tree-optimization/112657] New: " goon.pri.low at gmail dot com
2023-11-21 21:53 ` [Bug target/112657] " pinskia at gcc dot gnu.org
2023-11-21 21:53 ` pinskia at gcc dot gnu.org
2023-11-21 21:59 ` [Bug rtl-optimization/112657] [13/14 Regression] " pinskia at gcc dot gnu.org
2023-11-22  9:16 ` ubizjak at gmail dot com
2023-11-22  9:28 ` ubizjak at gmail dot com
2023-11-22  9:38 ` ubizjak at gmail dot com
2023-11-22  9:46 ` ubizjak at gmail dot com
2023-11-22 10:48 ` rguenth at gcc dot gnu.org
2023-11-22 13:35 ` hubicka at gcc dot gnu.org [this message]
2024-03-07 21:01 ` law at gcc dot gnu.org
2024-05-21  9:18 ` [Bug rtl-optimization/112657] [13/14/15 " jakub at gcc dot gnu.org

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=bug-112657-4-VzZD3nR8M0@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@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).