Commit 90647597 by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/83620 (ICE: in assign_by_spills, at lra-assigns.c:1470:…

re PR rtl-optimization/83620 (ICE: in assign_by_spills, at lra-assigns.c:1470: unable to find a register to spill with -flive-range-shrinkage --param=max-sched-ready-insns=0)

	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
parent 6ce065b6
2018-01-16 Jakub Jelinek <jakub@redhat.com> 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 PR rtl-optimization/83213
* recog.c (peep2_attempt): Copy over CROSSING_JUMP_P from peepinsn * recog.c (peep2_attempt): Copy over CROSSING_JUMP_P from peepinsn
to last if both are JUMP_INSNs. to last if both are JUMP_INSNs.
......
...@@ -744,7 +744,7 @@ DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE, ...@@ -744,7 +744,7 @@ DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
DEFPARAM(PARAM_MAX_SCHED_READY_INSNS, DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
"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.", "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. */ /* This is the maximum number of active local stores RTL DSE will consider. */
DEFPARAM (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES, DEFPARAM (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES,
......
2018-01-16 Jakub Jelinek <jakub@redhat.com> 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 PR tree-optimization/83843
* gcc.dg/store_merging_18.c: New test. * gcc.dg/store_merging_18.c: New test.
......
/* PR rtl-optimization/64935 */ /* PR rtl-optimization/64935 */
/* { dg-do compile } */ /* { 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-require-effective-target scheduling } */
/* { dg-xfail-if "" { powerpc-ibm-aix* } } */ /* { dg-xfail-if "" { powerpc-ibm-aix* } } */
......
/* 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)
{
}
/* 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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment