public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "rguenther at suse dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/103037] [11/12 Regression] Wrong code with -O2 since r11-6100-gd41b097350d3c5d0
Date: Tue, 02 Nov 2021 14:18:26 +0000 [thread overview]
Message-ID: <bug-103037-4-XZDXCV31M0@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-103037-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103037
--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 2 Nov 2021, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103037
>
> --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> We have:
> var_3.2_4 = var_3;
> iftmp.1_14 = (int) var_3.2_4;
> var_11_lsm.14_8 = _7(D);
>
> <bb 3> [local count: 955630225]:
> # RANGE [0, 24] NONZERO 31
> # a_20 = PHI <a_18(10), 0(9)>
> _19 = MEM <short unsigned int[23]> [(short unsigned int &)&arr_4][a_20];
> if (_19 > 1)
> goto <bb 5>; [50.00%]
> else
> goto <bb 4>; [50.00%]
>
> <bb 4> [local count: 477815112]:
> # RANGE [0, 1] NONZERO 1
> _3 = (int) _19;
> if (_19 != 0)
> goto <bb 5>; [20.00%]
> else
> goto <bb 6>; [80.00%]
>
> <bb 5> [local count: 477815112]:
> # RANGE [0, 1] NONZERO 1
> # _24 = PHI <_3(4), 1(3)>
> # RANGE [1, 65535] NONZERO 65535
> iftmp.1_15 = (int) _19;
> goto <bb 7>; [100.00%]
>
> <bb 6> [local count: 477815112]:
>
> <bb 7> [local count: 955630225]:
> # RANGE [-32768, 65535]
> # iftmp.1_10 = PHI <iftmp.1_15(5), iftmp.1_14(6)>
> # RANGE [0, 1] NONZERO 1
> # _25 = PHI <_24(5), 0(6)>
> # RANGE [-1, 1]
> _5 = _25 / iftmp.1_10;
> and seems PRE is trying top simplify 1 / _3 and _3 / _3. _3 has correctly
> range of [0, 1] - in that bb _19 can't be anything but 0 or 1 given the
> condition, but
> iftmp.1_15 = (int) _19; isn't equivalent to that, because it is reachable from
> other bbs, even when it is also (int) _19.
> So, does PRE need to temporarily reset_flow_sensitive_info in such cases and
> restore if it didn't succeed?
No, we have means to avoid this situation but somehow it doesn't work.
Give me some time to look into this.
next prev parent reply other threads:[~2021-11-02 14:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-02 7:17 [Bug tree-optimization/103037] New: [11/12 Regression] Wrong code with -O2 vsevolod.livinskij at frtk dot ru
2021-11-02 7:36 ` [Bug tree-optimization/103037] [11/12 Regression] Wrong code with -O2 since r11-6100-gd41b097350d3c5d0 marxin at gcc dot gnu.org
2021-11-02 7:52 ` pinskia at gcc dot gnu.org
2021-11-02 8:43 ` rguenth at gcc dot gnu.org
2021-11-02 8:51 ` jakub at gcc dot gnu.org
2021-11-02 9:08 ` jakub at gcc dot gnu.org
2021-11-02 14:18 ` rguenther at suse dot de [this message]
2021-11-03 10:08 ` rguenth at gcc dot gnu.org
2021-11-05 13:39 ` rguenth at gcc dot gnu.org
2022-02-23 15:25 ` rguenth at gcc dot gnu.org
2022-02-25 12:21 ` cvs-commit at gcc dot gnu.org
2022-02-25 12:21 ` [Bug tree-optimization/103037] [11 " rguenth at gcc dot gnu.org
2022-04-21 7:50 ` rguenth at gcc dot gnu.org
2023-05-29 10:05 ` 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-103037-4-XZDXCV31M0@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).