public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: gcc-patches <gcc-patches@gcc.gnu.org>
Subject: [committed] PR testsuite/86540, twiddle for aarch64
Date: Thu, 06 Dec 2018 15:36:00 -0000	[thread overview]
Message-ID: <a8263bbd-d343-e685-b280-3d61eb0f3848@redhat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]


As outlined in the PR, the aarch64 has a non-default value for
CASE_VALUES_THRESHOLD which changes decisions in switch lowering.  Those
changes in switch lowering can expose additional jump threads later in
the pipeline which cause heartburn for a couple tests.

I looked at all the other ports with a non-default value of
CASE_VALUES_THRESHOLD and only aarch64 is high enough to trigger these
changes in behavior on the two relevant tests.  So I'm just skipping the
tests that run after switch lowering on aarch64.

Verified with a cross that these tests now pass.

Committing to the trunk,

Jeff

[-- Attachment #2: P --]
[-- Type: text/plain, Size: 2976 bytes --]

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1adb751cd34..0272bbe0605 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2018-12-06  Jeff Law  <law@redhat.com>
+
+	PR testsuite/86540
+	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Skip the post switch conversion
+	tests on aarch64.
+	* gcc.dg/tree-ssa/pr77445-2.c: Similarly.
+ 
 2018-12-06  David Malcolm  <dmalcolm@redhat.com>
 
 	PR c++/85110
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
index eecfc4b195a..c5d567dabdc 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c
@@ -118,10 +118,14 @@ enum STATES FMS( u8 **in , u32 *transitions) {
 
 /* The profile is not updated perfectly because it is inconsitent from
    profile estimation stage. But the number of inconsistencies should not
-   increase much.  */
+   increase much. 
+
+   aarch64 has the highest CASE_VALUES_THRESHOLD in GCC.  It's high enough
+   to change decisions in switch expansion which in turn can expose new
+   jump threading opportunities.  Skip the later tests on aarch64.  */
 /* { dg-final { scan-tree-dump "Jumps threaded: 1\[1-9\]" "thread1" } } */
 /* { dg-final { scan-tree-dump-times "Invalid sum" 3 "thread1" } } */
 /* { dg-final { scan-tree-dump-not "not considered" "thread1" } } */
 /* { dg-final { scan-tree-dump-not "not considered" "thread2" } } */
-/* { dg-final { scan-tree-dump-not "not considered" "thread3" } } */
-/* { dg-final { scan-tree-dump-not "not considered" "thread4" } } */
+/* { dg-final { scan-tree-dump-not "not considered" "thread3" { target { ! aarch64*-*-* } } } } */
+/* { dg-final { scan-tree-dump-not "not considered" "thread4" { target { ! aarch64*-*-* } } } } */ 
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
index e395de26ec0..f833aa4351d 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
@@ -3,8 +3,11 @@
 /* { dg-final { scan-tree-dump "Jumps threaded: 16"  "thread1" } } */
 /* { dg-final { scan-tree-dump "Jumps threaded: 9" "thread2" } } */
 /* { dg-final { scan-tree-dump "Jumps threaded: 1"  "dom2" } } */
-/* { dg-final { scan-tree-dump-not "Jumps threaded"  "dom3" } } */
-/* { dg-final { scan-tree-dump-not "Jumps threaded"  "vrp2" } } */
+/* aarch64 has the highest CASE_VALUES_THRESHOLD in GCC.  It's high enough
+   to change decisions in switch expansion which in turn can expose new
+   jump threading opportunities.  Skip the later tests on aarch64.  */
+/* { dg-final { scan-tree-dump-not "Jumps threaded"  "dom3" { target { ! aarch64*-*-* } } } } */
+/* { dg-final { scan-tree-dump-not "Jumps threaded"  "vrp2" { target { ! aarch64*-*-* } } } } */
 
 /* Most architectures get 3 threadable paths here, whereas aarch64 and
    possibly others get 5.  We really should rewrite threading tests to

             reply	other threads:[~2018-12-06 15:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-06 15:36 Jeff Law [this message]
2018-12-07 13:46 ` Richard Earnshaw (lists)
2018-12-07 15:06   ` Jeff Law

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=a8263bbd-d343-e685-b280-3d61eb0f3848@redhat.com \
    --to=law@redhat.com \
    --cc=gcc-patches@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).