From d5910e08a35c7bd4c2cd862d16e533fa978f3238 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 8 Dec 2017 20:05:56 +0100 Subject: [PATCH] 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 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.c-torture/compile/pr81595.c | 39 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr81595.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 396e26a6136..79f6d24b8c3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-12-08 Jakub Jelinek + + PR rtl-optimization/81595 + * gcc.c-torture/compile/pr81595.c: New test. + 2017-12-08 Michael Matz 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 00000000000..2576d8b6914 --- /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; + } + } +} -- 2.30.2