The CFG cleanup change made us remove an extra forwarder which somehow
makes VRP jump threading go berzerk.  Fortunately only on
logical-op-non-short-circuit=0 targets so the easy way to fix the
testcase is to force that our way.

Tested on powerpc64le-linux-gnu and x86_64-linux-gnu.

I'll hold off applying this for a bit in case Jeff wants to
analyze why/how we're doing extra jump threading just because
of the lack of that extra forwarder...

Richard.

2019-03-04  Richard Biener  <rguent...@suse.de>

        PR testsuite/89551
        * gcc.dg/uninit-pred-8_b.c: Force logical-op-non-short-circuit
        the way that makes the testcase PASS.

Index: gcc/testsuite/gcc.dg/uninit-pred-8_b.c
===================================================================
--- gcc/testsuite/gcc.dg/uninit-pred-8_b.c      (revision 269361)
+++ gcc/testsuite/gcc.dg/uninit-pred-8_b.c      (working copy)
@@ -1,6 +1,7 @@
-
 /* { dg-do compile } */
-/* { dg-options "-Wuninitialized -O2" } */
+/* ???  Jump threading makes a mess of the logical-op-non-short-circuit=0 case
+   so force it our way.  */
+/* { dg-options "-Wuninitialized -O2 --param logical-op-non-short-circuit=1" } 
*/
 
 int g;
 void bar();

Reply via email to