re PR rtl-optimization/83620 (ICE: in assign_by_spills, at lra-assigns.c:1470: unable...
authorJakub Jelinek <jakub@redhat.com>
Tue, 16 Jan 2018 08:55:14 +0000 (09:55 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 16 Jan 2018 08:55:14 +0000 (09:55 +0100)
PR rtl-optimization/86620
* params.def (max-sched-ready-insns): Bump minimum value to 1.

* gcc.dg/pr64935-2.c: Use --param=max-sched-ready-insns=1
instead of --param=max-sched-ready-insns=0.
* gcc.target/i386/pr83620.c: New test.
* gcc.dg/pr83620.c: New test.

From-SVN: r256729

gcc/ChangeLog
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr64935-2.c
gcc/testsuite/gcc.dg/pr83620.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr83620.c [new file with mode: 0644]

index 026e8a89d0cc799b596063ba54c62e93cd0ae3cc..9cf937b2714b867bf5c8ff9e00c0ff738210f993 100644 (file)
@@ -1,5 +1,8 @@
 2018-01-16  Jakub Jelinek  <jakub@redhat.com>
 
+       PR rtl-optimization/86620
+       * params.def (max-sched-ready-insns): Bump minimum value to 1.
+
        PR rtl-optimization/83213
        * recog.c (peep2_attempt): Copy over CROSSING_JUMP_P from peepinsn
        to last if both are JUMP_INSNs.
index a0aa5765ff6214e7619910079de012abe9c5f48e..930b31820be96838dfaf8fc662ca0f7bc768ba65 100644 (file)
@@ -744,7 +744,7 @@ DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
 DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
         "max-sched-ready-insns",
         "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass.",
-        100, 0, 0)
+        100, 1, 0)
 
 /* This is the maximum number of active local stores RTL DSE will consider.  */
 DEFPARAM (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES,
index 506113a4e612ff650209801cafaf57d043d1ba14..b4f38370f782885a0ff89fbe3bd3b7a9eb333cfa 100644 (file)
@@ -1,5 +1,11 @@
 2018-01-16  Jakub Jelinek  <jakub@redhat.com>
 
+       PR rtl-optimization/86620
+       * gcc.dg/pr64935-2.c: Use --param=max-sched-ready-insns=1
+       instead of --param=max-sched-ready-insns=0.
+       * gcc.target/i386/pr83620.c: New test.
+       * gcc.dg/pr83620.c: New test.
+
        PR tree-optimization/83843
        * gcc.dg/store_merging_18.c: New test.
 
index bde658d4456c05a5bd9010394001423ef9c05499..33d963036995a2c5ce022b84a4a014fff4d2628a 100644 (file)
@@ -1,6 +1,6 @@
 /* PR rtl-optimization/64935 */
 /* { dg-do compile } */
-/* { dg-options "-O -fschedule-insns --param=max-sched-ready-insns=0 -fcompare-debug" } */
+/* { dg-options "-O -fschedule-insns --param=max-sched-ready-insns=1 -fcompare-debug" } */
 /* { dg-require-effective-target scheduling } */
 /* { dg-xfail-if "" { powerpc-ibm-aix* } } */
 
diff --git a/gcc/testsuite/gcc.dg/pr83620.c b/gcc/testsuite/gcc.dg/pr83620.c
new file mode 100644 (file)
index 0000000..e0e44a3
--- /dev/null
@@ -0,0 +1,9 @@
+/* PR rtl-optimization/86620 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -flive-range-shrinkage --param=max-sched-ready-insns=0" } */
+/* { dg-error "minimum value of parameter 'max-sched-ready-insns' is 1" "" { target *-*-* } 0 } */
+
+void
+foo (void)
+{
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr83620.c b/gcc/testsuite/gcc.target/i386/pr83620.c
new file mode 100644 (file)
index 0000000..996f204
--- /dev/null
@@ -0,0 +1,15 @@
+/* PR rtl-optimization/86620 */
+/* { dg-do compile { target int128 } } */
+/* { dg-options "-O2 -flive-range-shrinkage --param=max-sched-ready-insns=1 -Wno-psabi -mno-avx" } */
+
+typedef unsigned __int128 V __attribute__ ((vector_size (64)));
+
+V u, v;
+
+V
+foo (char c, short d, int e, long f, __int128 g)
+{
+  f >>= c & 63;
+  v = (V){f} == u;
+  return e + g + v;
+}