aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-12-08 20:05:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-08 20:05:56 +0100
commitd5910e08a35c7bd4c2cd862d16e533fa978f3238 (patch)
treeb100216f32e5a9f02391a73b7ff18c89416468e8
parentdc236397e4d96647c5d72fd9b6d503ca0b187bee (diff)
downloadgcc-d5910e08a35c7bd4c2cd862d16e533fa978f3238.zip
gcc-d5910e08a35c7bd4c2cd862d16e533fa978f3238.tar.gz
gcc-d5910e08a35c7bd4c2cd862d16e533fa978f3238.tar.bz2
re PR rtl-optimization/81595 (ICE: verify_flow_info failed (error: multiple hot/cold transitions found))
PR rtl-optimization/81595 * gcc.c-torture/compile/pr81595.c: New test. From-SVN: r255516
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr81595.c39
2 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 396e26a..79f6d24 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/81595
+ * gcc.c-torture/compile/pr81595.c: New test.
+
2017-12-08 Michael Matz <matz@suse.de>
Fix PR tree-optimization/83323
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr81595.c b/gcc/testsuite/gcc.c-torture/compile/pr81595.c
new file mode 100644
index 0000000..2576d8b
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr81595.c
@@ -0,0 +1,39 @@
+/* PR rtl-optimization/81595 */
+
+void
+foo (__INTPTR_TYPE__ *x, int *y, int *z, int u, int v)
+{
+ while (u != 0)
+ {
+ if (*x != 0)
+ {
+ int a = 1;
+ l1:
+ if (*y != 0)
+ {
+ while (a < 2)
+ {
+ a = 0;
+ x = (__INTPTR_TYPE__ *)&x;
+ l2:
+ ++a;
+ }
+ while (*z != 0)
+ ;
+ }
+ a /= 0;
+ }
+ else
+ {
+ *z /= (*z != 0) ? 2 : 0;
+ while (v < 1)
+ {
+ *y = 0;
+ if (v != 0)
+ goto l1;
+ ++v;
+ }
+ goto l2;
+ }
+ }
+}