* [COMMITTED] Testcase adjustments for pass vrp1.
@ 2021-11-03 14:39 Andrew MacLeod
0 siblings, 0 replies; only message in thread
From: Andrew MacLeod @ 2021-11-03 14:39 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 2493 bytes --]
The following tests all were checking something specific in VRP1 and
with multiple versions available to run now, this patch unifies the
checking so that they still check what it did before, verify the same
code is produced, but does it in a more agnostic way. This allows them
to pass with both --param=vrp1-mode=vrp and --param=vrp1-mode=ranger.
Specifically:
* pr23744.c: don;'t look for the phrase "gimple_simplified", and ranger
produces a "Folding predicate" from the propagation engine. Instead,
verify that that here is exactly 1 "return 0" and no "return 1"s in the
results.
* vrp07.c: Don't look for the number of "PREDICATE: p_" asserts that
were inserted, the "Folding predicate" checks themselves are enough.
* vrp08.c: Same thing. no need to verify the number of PREDICATE asserts.
* vrp09.c: Change the
scan-tree-dump-times "Folding predicate p_.. != 0B to 1" 2 "vrp1"
into 2 similar cehcks that allow for the difference in output that
p_10(D) doesn't fit that pattern. This also seems to show either a bug
in dejagnu, or a lack in my understanding of wildcards... because
allowing for the (D) at the end of p_10 implemented with a wildcard will
not match more than 1 time. I ran across this a couple of times, and
notice there are no testacses which look for a '*' wildcard using
scan-tree-dump-times with a value greater than 1... ie
scan-tree-dump-times "Folding predicate p_\.\* != 0B to 1" 1 "vrp1"
Will match the sequence if it happens once in the file, but if it
happens twice, and you use
scan-tree-dump-times "Folding predicate p_\.\* != 0B to 1" 2 "vrp1"
It fails to match... Im not getting into that at the moment, so I simply
added 2 checks without wildcards that work out to the equivalent thing.
* vrp20.c: Adjust the checks to again allow for a possible (D) following
the ssa_name in the listing.
* vrp92.c: This testcase checked that an ssa_name specifically was given
a global value of [1,1], and that no threading occurred. Well, res
actually folded away, and ranger doesn export globals values for
ssa-names which no longer exist. INstead , changes the checks to make
sure that the resulting code from vrp1 has no PHIs, Ifs, or gotos.
* jit.dg/test-sum-of-squares.c: The original was checking for a symbolic
range.. Dmalcolm adjusted the testcase for me to accomplish his original
goal without depending on symbolics. Thanks!!
no regressions on x86_64-pc-linux-gnu, pushed.
Andrew
[-- Attachment #2: 0005-Testcase-adjustments-for-pass-vrp1.patch --]
[-- Type: text/x-patch, Size: 6296 bytes --]
From 1410b208013e4ccd9438cda178c7ea995684e7e8 Mon Sep 17 00:00:00 2001
From: Andrew MacLeod <amacleod@redhat.com>
Date: Mon, 1 Nov 2021 16:20:23 -0400
Subject: [PATCH 5/6] Testcase adjustments for pass vrp1.
Unify testcases for the vrp1 pass so they will work with the output from either
VRP or ranger.
gcc/testsuite/
* gcc.dg/tree-ssa/pr23744.c: Tweak output checks.
* gcc.dg/tree-ssa/vrp07.c: Ditto.
* gcc.dg/tree-ssa/vrp08.c: Ditto.
* gcc.dg/tree-ssa/vrp09.c: Ditto.
* gcc.dg/tree-ssa/vrp20.c: Ditto.
* gcc.dg/tree-ssa/vrp92.c: Ditto.
* jit.dg/test-sum-of-squares.c: Ditto.
---
gcc/testsuite/gcc.dg/tree-ssa/pr23744.c | 5 +++--
gcc/testsuite/gcc.dg/tree-ssa/vrp07.c | 3 ---
gcc/testsuite/gcc.dg/tree-ssa/vrp08.c | 1 -
gcc/testsuite/gcc.dg/tree-ssa/vrp09.c | 3 ++-
gcc/testsuite/gcc.dg/tree-ssa/vrp20.c | 4 ++--
gcc/testsuite/gcc.dg/tree-ssa/vrp92.c | 7 ++++---
gcc/testsuite/jit.dg/test-sum-of-squares.c | 10 +++++-----
7 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c b/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c
index ba3fda352ca..f70f2546bf1 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-ccp -fdisable-tree-evrp -fdump-tree-vrp1-details" } */
+/* { dg-options "-O2 -fno-tree-ccp -fdisable-tree-evrp -fdump-tree-vrp1" } */
void h (void);
@@ -17,4 +17,5 @@ int g (int i, int j)
return 1;
}
-/* { dg-final { scan-tree-dump-times "gimple_simplified" 1 "vrp1" } } */
+/* { dg-final { scan-tree-dump-times "return 0" 1 "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "return 1" "vrp1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c
index 9c4acd29681..ec5f6cce46f 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c
@@ -34,6 +34,3 @@ foo (int i, int *p)
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*to 1" 1 "vrp1" } } */
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*to 0" 1 "vrp1" { target { ! keeps_null_pointer_checks } } } } */
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*to 0" 0 "vrp1" { target { keeps_null_pointer_checks } } } } */
-
-/* { dg-final { scan-tree-dump-times "PREDICATE: p_\[0-9\]" 2 "vrp1" { target { ! keeps_null_pointer_checks } } } } */
-/* { dg-final { scan-tree-dump-times "PREDICATE: p_\[0-9\]" 1 "vrp1" { target { keeps_null_pointer_checks } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c
index 4599fa7d533..c9d90236715 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c
@@ -20,5 +20,4 @@ foo (int a, int *p)
}
/* Target disabling -fdelete-null-pointer-checks should not fold checks */
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*to 1" 1 "vrp1" { target { ! keeps_null_pointer_checks } } } } */
-/* { dg-final { scan-tree-dump-times "PREDICATE: p_.* ne_expr 0" 1 "vrp1" { target { ! keeps_null_pointer_checks } } } } */
/* { dg-final { scan-tree-dump-times "Folding predicate p_.*to 1" 0 "vrp1" { target { keeps_null_pointer_checks } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c
index 4e4954da32a..354169692d6 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c
@@ -27,4 +27,5 @@ L78:
}
}
-/* { dg-final { scan-tree-dump-times "Folding predicate p_.. != 0B to 1" 2 "vrp1" } } */
+/* { dg-final { scan-tree-dump-times "Folding predicate p_" 2 "vrp1" } } */
+/* { dg-final { scan-tree-dump-times "!= 0B to 1" 2 "vrp1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c
index f9df67ffb05..e5822992fe4 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c
@@ -23,5 +23,5 @@ int g (int b) {
return 1;
}
-/* { dg-final { scan-tree-dump "Folding predicate a_. == 0 to 0" "vrp1" } } */
-/* { dg-final { scan-tree-dump "Folding predicate b_. != 0 to 1" "vrp1" } } */
+/* { dg-final { scan-tree-dump "Folding predicate a_\.\* == 0 to 0" "vrp1" } } */
+/* { dg-final { scan-tree-dump "Folding predicate b_\.\* != 0 to 1" "vrp1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c
index 66d74e9b5e9..9e53547dadc 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdisable-tree-evrp -fno-tree-fre -fdump-tree-vrp1-details -fdisable-tree-ethread" } */
+/* { dg-options "-O2 -fdisable-tree-evrp -fno-tree-fre -fdump-tree-vrp1 -fdisable-tree-ethread" } */
void bar (void);
int foo (int i, int j)
@@ -18,5 +18,6 @@ int foo (int i, int j)
return j;
}
-/* { dg-final { scan-tree-dump "res_.: int \\\[1, 1\\\]" "vrp1" } } */
-/* { dg-final { scan-tree-dump-not "Threaded" "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "PHI" "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "goto" "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "if" "vrp1" } } */
diff --git a/gcc/testsuite/jit.dg/test-sum-of-squares.c b/gcc/testsuite/jit.dg/test-sum-of-squares.c
index f095f419a59..cfcf5b2aac2 100644
--- a/gcc/testsuite/jit.dg/test-sum-of-squares.c
+++ b/gcc/testsuite/jit.dg/test-sum-of-squares.c
@@ -133,10 +133,10 @@ verify_code (gcc_jit_context *ctxt, gcc_jit_result *result)
An example of using gcc_jit_context_enable_dump to verify a property
of the compile.
- In this case, verify that vrp is able to deduce the
- bounds of the iteration variable. Specifically, verify that some
- variable is known to be in the range negative infinity to some
- expression based on param "n" (actually n-1). */
- CHECK_STRING_CONTAINS (dump_vrp1, "[-INF, n_");
+ In particular, this example verifies that we can read the dump from a
+ pass with multiple instances. Given that the format of the VRP dump
+ is subject to change, merely verify that it contains the function
+ name. */
+ CHECK_STRING_CONTAINS (dump_vrp1, ";; Function loop_test");
free (dump_vrp1);
}
--
2.17.2
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-03 14:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-03 14:39 [COMMITTED] Testcase adjustments for pass vrp1 Andrew MacLeod
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).