public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug testsuite/109596] [14 Regression] Lots of guality testcase fails on x86_64 after r14-162-gcda246f8b421ba
Date: Tue, 19 Mar 2024 16:28:48 +0000	[thread overview]
Message-ID: <bug-109596-4-ixaizadJbH@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-109596-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Great,
--- gcc/tree-ssa-loop-ch.cc.jj  2024-03-19 16:27:35.969474787 +0100
+++ gcc/tree-ssa-loop-ch.cc     2024-03-19 17:12:57.904712489 +0100
@@ -957,7 +957,7 @@ ch_base::copy_headers (function *fun)

       edge entry = loop_preheader_edge (loop);

-      propagate_threaded_block_debug_into (exit->dest, entry->dest);
+      propagate_threaded_block_debug_into (nonexit->dest, entry->dest);
       if (!gimple_duplicate_seme_region (entry, exit, bbs, n_bbs, copied_bbs,
                                         true))
        {
looks very much promising:
-XFAIL: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
+XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
-FAIL: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 34 c ==
&a[0]
+PASS: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 34 c ==
&a[0]
-FAIL: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 39 c ==
&a[0]
+PASS: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 39 c ==
&a[0]
-PASS: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 34 c ==
&a[0]
+FAIL: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 34 c ==
&a[0]
-PASS: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 39 c ==
&a[0]
+FAIL: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 39 c ==
&a[0]
-FAIL: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21 i == v
+ 1
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21
x == 10 - i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21
y == 20 - 2 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21
z == 30 - 3 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21 i == v
+ 1
+PASS: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21 x ==
10 - i
+PASS: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21 y ==
20 - 2 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O1  -DPREVENT_OPTIMIZATION  line 21 z ==
30 - 3 * i
-FAIL: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 i == v
+ 1
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21
x == 10 - i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21
y == 20 - 2 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21
z == 30 - 3 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 i == v
+ 1
+PASS: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 x ==
10 - i
+PASS: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 y ==
20 - 2 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 z ==
30 - 3 * i
-FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 i == v + 1
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 y == 20 - 2 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 z == 30 - 3 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 i == v + 1
+PASS: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
+PASS: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 y == 20 - 2 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 21 z == 30 - 3 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 y == 20 - 2 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 z == 30 - 3 * i
+FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
+FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 y == 20 - 2 * i
+FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 z == 30 - 3 * i
-FAIL: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 i
== v + 1
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line
21 x == 10 - i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line
21 y == 20 - 2 * i
-UNSUPPORTED: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line
21 z == 30 - 3 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 i
== v + 1
+PASS: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 x
== 10 - i
+PASS: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 y
== 20 - 2 * i
+PASS: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 z
== 30 - 3 * i
-FAIL: gcc.dg/guality/pr54693.c   -O1  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
+PASS: gcc.dg/guality/pr54693.c   -O1  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
-FAIL: gcc.dg/guality/pr54693.c   -O2  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
+PASS: gcc.dg/guality/pr54693.c   -O2  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
-FAIL: gcc.dg/guality/pr54693.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 22 i == c - 48
+PASS: gcc.dg/guality/pr54693.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 22 i == c - 48
-FAIL: gcc.dg/guality/pr54693.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 22 i == c - 48
+PASS: gcc.dg/guality/pr54693.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 22 i == c - 48
-FAIL: gcc.dg/guality/pr54693.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 22 i ==
c - 48
+PASS: gcc.dg/guality/pr54693.c   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 22 i ==
c - 48
-FAIL: gcc.dg/guality/pr54693.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 22 i ==
c - 48
+PASS: gcc.dg/guality/pr54693.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 22 i ==
c - 48
-FAIL: gcc.dg/guality/pr54693.c   -Os  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
+PASS: gcc.dg/guality/pr54693.c   -Os  -DPREVENT_OPTIMIZATION  line 22 i == c -
48
-FAIL: gcc.dg/guality/pr89463.c   -O1  -DPREVENT_OPTIMIZATION  line 23 i + 1 ==
7
+PASS: gcc.dg/guality/pr89463.c   -O1  -DPREVENT_OPTIMIZATION  line 23 i + 1 ==
7
-FAIL: gcc.dg/guality/pr90074.c   -O1  -DPREVENT_OPTIMIZATION  line 28 c + 1 ==
2
-FAIL: gcc.dg/guality/pr90074.c   -O1  -DPREVENT_OPTIMIZATION  line 28 i + 1 ==
8
+PASS: gcc.dg/guality/pr90074.c   -O1  -DPREVENT_OPTIMIZATION  line 28 c + 1 ==
2
+PASS: gcc.dg/guality/pr90074.c   -O1  -DPREVENT_OPTIMIZATION  line 28 i + 1 ==
8
-UNSUPPORTED: gcc.dg/guality/pr90131.c   -O1  -DPREVENT_OPTIMIZATION  line 31 i
+ 1 == 1
+PASS: gcc.dg/guality/pr90131.c   -O1  -DPREVENT_OPTIMIZATION  line 31 i + 1 ==
1
-FAIL: gcc.dg/guality/pr90716.c   -O1  -DPREVENT_OPTIMIZATION  line 23 j + 1 ==
9
+PASS: gcc.dg/guality/pr90716.c   -O1  -DPREVENT_OPTIMIZATION  line 23 j + 1 ==
9
-FAIL: gcc.dg/guality/pr90716.c   -O2  -DPREVENT_OPTIMIZATION  line 23 j + 1 ==
9
+UNSUPPORTED: gcc.dg/guality/pr90716.c   -O2  -DPREVENT_OPTIMIZATION  line 23 j
+ 1 == 9
-FAIL: gcc.dg/guality/pr90716.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 23 j + 1 == 9
+UNSUPPORTED: gcc.dg/guality/pr90716.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  -DPREVENT_OPTIMIZATION line 23 j + 1 == 9
-FAIL: gcc.dg/guality/pr90716.c   -Os  -DPREVENT_OPTIMIZATION  line 23 j + 1 ==
9
+UNSUPPORTED: gcc.dg/guality/pr90716.c   -Os  -DPREVENT_OPTIMIZATION  line 23 j
+ 1 == 9
so feels like it mostly gets back to the 13 results.

Guess for pr90716.c it would be nice (bet stage1 material) if ldist did better
job with
debug stmts when it replaces the whole loop with a function call try to figure
out the final value of the SSA_NAMEs used in the debug stmts.
It has before ldist:
  b_7 = b_14 + 1;
  # DEBUG b => b_7
  ivtmp_3 = ivtmp_1 - 1;
  if (ivtmp_3 != 0)
    goto <bb 7>; [85.71%]
  else
    goto <bb 6>; [14.29%]
where the 4->6 edge is the loop exit one, and similarly
  j_9 = j_15 + 1;
  # DEBUG j => j_9
  # DEBUG BEGIN_STMT
  ivtmp_4 = ivtmp_13 - 1;
  if (ivtmp_4 != 0)
    goto <bb 8>; [87.50%]
  else
    goto <bb 4>; [12.50%]
before this bb, and ldist clearly needs to figure out how many iterations the
loop has,
so if it added
  # DEBUG j => 8
  # DEBUG b => 7
to start of bb 6 when it kills the loop, that would be great.

  parent reply	other threads:[~2024-03-19 16:28 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-23  1:46 [Bug testsuite/109596] New: [14 Regression] Lots of testcases " haochen.jiang at intel dot com
2023-04-24  7:06 ` [Bug testsuite/109596] " rguenth at gcc dot gnu.org
2024-01-12 10:58 ` [Bug testsuite/109596] [14 Regression] Lots of guality testcase " rguenth at gcc dot gnu.org
2024-03-19 14:14 ` jakub at gcc dot gnu.org
2024-03-19 15:23 ` jakub at gcc dot gnu.org
2024-03-19 15:27 ` hubicka at gcc dot gnu.org
2024-03-19 15:41 ` jakub at gcc dot gnu.org
2024-03-19 15:47 ` hubicka at gcc dot gnu.org
2024-03-19 15:58 ` hubicka at gcc dot gnu.org
2024-03-19 16:28 ` jakub at gcc dot gnu.org [this message]
2024-03-19 22:28 ` jakub at gcc dot gnu.org
2024-03-20 11:50 ` jakub at gcc dot gnu.org
2024-04-10  7:13 ` rguenth at gcc dot gnu.org
2024-04-11  6:53 ` rguenth at gcc dot gnu.org
2024-04-11  9:11 ` cvs-commit at gcc dot gnu.org
2024-04-11  9:12 ` rguenth at gcc dot gnu.org
2024-04-12 18:14 ` carlos.seo at linaro dot org
2024-04-12 18:18 ` pinskia at gcc dot gnu.org
2024-04-12 18:24 ` carlos.seo at linaro dot org
2024-04-13 11:36 ` haochen.jiang at intel dot com
2024-04-15 18:53 ` hubicka 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-109596-4-ixaizadJbH@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).