public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/113907] [12/13/14 regression] ICU miscompiled since on x86 since r14-5109-ga291237b628f41
Date: Fri, 16 Feb 2024 16:08:36 +0000	[thread overview]
Message-ID: <bug-113907-4-TmMsajggm8@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-113907-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #43 from Jan Hubicka <hubicka at ucw dot cz> ---
> // See discussion here:
> // https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571709.html
Discussion says:

"Once legacy evrp is removed, this won't be an issue, as ranges in the IL 
will tell the truth.  However, this will mean that we will no longer 
remove the first __builtin_unreachable combo.  But ISTM, that would be 
correct behavior ??."

So perhaps, we could remove that special case for default def and phi?
It is an odd thing and we clearly lose info here.
The problem is that value of parameter i itself does not have global
value range [0...10] so  I need to compute new SSA name to get it
preserved through ipa-split.  Maybe ipa-split can be extended to fire up
ranger and try to get better value ranges on function parameters from
the split function header.  Not sure if that is worth the effort though.


If we go with merging functions with different ranges, we indeed need to
update ranges and bits both in SSA_NAME infos and in ipa-prop's jump
functions.  At the time sem_fuction::merge calls ipa_merge_profiles we
do have both function bodies in memory and thus we can do the job.

If we just drop the info instead of merging, we do limited harm on
SSA_NAME infos since they mostly will be recomputed again.  For ipa-prop
this may cause more interesting precision loss.  

So perhaps for backportability we may want to just limit ICF to
functions wth same ranges in SSA_NAME infos.  Let me cook up a patch and
see if there is significant loss in merged functions. I think it should
be quite small given that ranges seem to only diverge through ipa-split
in very specific cases for now. (and given how much time I spent on
producing the testcase)

  parent reply	other threads:[~2024-02-16 16:08 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-13 12:49 [Bug middle-end/113907] New: [14 " sjames at gcc dot gnu.org
2024-02-13 12:55 ` [Bug middle-end/113907] " sjames at gcc dot gnu.org
2024-02-13 13:00 ` sjames at gcc dot gnu.org
2024-02-13 13:00 ` rguenth at gcc dot gnu.org
2024-02-13 13:14 ` jakub at gcc dot gnu.org
2024-02-13 14:17 ` sjames at gcc dot gnu.org
2024-02-13 14:18 ` sjames at gcc dot gnu.org
2024-02-13 14:19 ` sjames at gcc dot gnu.org
2024-02-13 14:22 ` sjames at gcc dot gnu.org
2024-02-13 14:23 ` sjames at gcc dot gnu.org
2024-02-13 14:24 ` sjames at gcc dot gnu.org
2024-02-13 14:49 ` jakub at gcc dot gnu.org
2024-02-13 14:55 ` pinskia at gcc dot gnu.org
2024-02-13 14:56 ` sjames at gcc dot gnu.org
2024-02-13 14:58 ` sjames at gcc dot gnu.org
2024-02-13 15:11 ` jakub at gcc dot gnu.org
2024-02-13 15:17 ` pinskia at gcc dot gnu.org
2024-02-13 15:19 ` sjames at gcc dot gnu.org
2024-02-13 15:36 ` jakub at gcc dot gnu.org
2024-02-13 15:40 ` pinskia at gcc dot gnu.org
2024-02-13 15:46 ` jakub at gcc dot gnu.org
2024-02-13 15:58 ` jakub at gcc dot gnu.org
2024-02-13 16:00 ` pinskia at gcc dot gnu.org
2024-02-13 16:01 ` pinskia at gcc dot gnu.org
2024-02-13 16:07 ` jakub at gcc dot gnu.org
2024-02-13 16:30 ` jakub at gcc dot gnu.org
2024-02-14  9:16 ` jakub at gcc dot gnu.org
2024-02-14  9:24 ` rguenth at gcc dot gnu.org
2024-02-14  9:25 ` rguenth at gcc dot gnu.org
2024-02-14  9:52 ` jakub at gcc dot gnu.org
2024-02-14 10:35 ` rguenther at suse dot de
2024-02-14 15:52 ` hubicka at gcc dot gnu.org
2024-02-14 15:56 ` jakub at gcc dot gnu.org
2024-02-15 10:25 ` sjames at gcc dot gnu.org
2024-02-15 14:25 ` hubicka at gcc dot gnu.org
2024-02-15 14:36 ` jakub at gcc dot gnu.org
2024-02-15 14:36 ` jakub at gcc dot gnu.org
2024-02-15 14:43 ` rguenther at suse dot de
2024-02-15 14:45 ` rguenther at suse dot de
2024-02-15 14:55 ` hubicka at ucw dot cz
2024-02-15 14:57 ` hubicka at ucw dot cz
2024-02-15 15:02 ` jakub at gcc dot gnu.org
2024-02-16 14:40 ` hubicka at gcc dot gnu.org
2024-02-16 15:10 ` jakub at gcc dot gnu.org
2024-02-16 15:52 ` [Bug middle-end/113907] [12/13/14 " hubicka at gcc dot gnu.org
2024-02-16 15:55 ` jakub at gcc dot gnu.org
2024-02-16 16:08 ` hubicka at ucw dot cz [this message]
2024-02-16 16:27 ` jakub at gcc dot gnu.org
2024-02-16 16:45 ` hubicka at ucw dot cz
2024-02-16 17:01 ` amacleod at redhat dot com
2024-02-16 20:42 ` amacleod at redhat dot com
2024-02-22  9:22 ` sjames at gcc dot gnu.org
2024-03-08 15:34 ` jakub at gcc dot gnu.org
2024-03-09 17:10 ` law at gcc dot gnu.org
2024-03-09 21:04 ` [Bug ipa/113907] " pinskia at gcc dot gnu.org
2024-03-09 21:06 ` [Bug ipa/113907] [11/12/13/14 " pinskia at gcc dot gnu.org
2024-03-09 21:11 ` pinskia at gcc dot gnu.org
2024-03-11 11:21 ` jakub at gcc dot gnu.org
2024-03-13 14:07 ` hubicka at gcc dot gnu.org
2024-03-13 14:14 ` jakub at gcc dot gnu.org
2024-03-13 15:21 ` hubicka at ucw dot cz
2024-03-14 16:20 ` hubicka at gcc dot gnu.org
2024-03-14 16:39 ` hubicka at gcc dot gnu.org
2024-03-14 16:49 ` cvs-commit at gcc dot gnu.org
2024-03-14 16:53 ` jakub at gcc dot gnu.org
2024-03-15 23:29 ` cvs-commit at gcc dot gnu.org
2024-03-19 17:09 ` jakub at gcc dot gnu.org
2024-03-19 18:41 ` hubicka at ucw dot cz
2024-03-20  9:05 ` jamborm at gcc dot gnu.org
2024-03-20 18:13 ` jamborm at gcc dot gnu.org
2024-03-20 18:33 ` jakub at gcc dot gnu.org
2024-03-21 15:29 ` jakub at gcc dot gnu.org
2024-03-28 12:25 ` [Bug ipa/113907] [11/12/13/14 regression] ICU miscompiled " cvs-commit at gcc dot gnu.org
2024-04-02  8:44 ` hubicka at ucw dot cz
2024-04-04 21:17 ` jamborm at gcc dot gnu.org
2024-04-08  9:33 ` sjames at gcc dot gnu.org
2024-04-08  9:38 ` rguenth at gcc dot gnu.org
2024-04-08 16:56 ` cvs-commit at gcc dot gnu.org
2024-04-08 17:04 ` jamborm at gcc dot gnu.org
2024-04-09  9:47   ` Jan Hubicka
2024-04-09  9:47 ` hubicka at ucw dot cz
2024-05-07  7:45 ` [Bug ipa/113907] [11/12/13/14/15 " rguenth at gcc dot gnu.org
2024-05-14 15:06 ` cvs-commit at gcc dot gnu.org
2024-05-28 13:45 ` cvs-commit 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-113907-4-TmMsajggm8@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).