Commit 9fe3064b by Roman Zhuykov Committed by Roman Zhuykov

modulo-sched: prevent division by zero (PR87979)

	PR rtl-optimization/87979
	* modulo-sched.c (sms_schedule): Start ii value "mii" should
	not equal zero.

testsuite:

	PR rtl-optimization/87979
	* gcc.dg/pr87979.c: New test.

From-SVN: r270512
parent 8d64622f
2019-04-23 Roman Zhuykov <zhroma@ispras.ru> 2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
PR rtl-optimization/87979
* modulo-sched.c (sms_schedule): Start ii value "mii" should
not equal zero.
2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
PR rtl-optimization/84032 PR rtl-optimization/84032
* modulo-sched.c (ps_insn_find_column): Change condition so that * modulo-sched.c (ps_insn_find_column): Change condition so that
branch will always be the last insn in a row inside partial branch will always be the last insn in a row inside partial
......
...@@ -1597,6 +1597,7 @@ sms_schedule (void) ...@@ -1597,6 +1597,7 @@ sms_schedule (void)
mii = 1; /* Need to pass some estimate of mii. */ mii = 1; /* Need to pass some estimate of mii. */
rec_mii = sms_order_nodes (g, mii, node_order, &max_asap); rec_mii = sms_order_nodes (g, mii, node_order, &max_asap);
mii = MAX (res_MII (g), rec_mii); mii = MAX (res_MII (g), rec_mii);
mii = MAX (mii, 1);
maxii = MAX (max_asap, MAXII_FACTOR * mii); maxii = MAX (max_asap, MAXII_FACTOR * mii);
if (dump_file) if (dump_file)
......
2019-04-23 Roman Zhuykov <zhroma@ispras.ru> 2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
PR rtl-optimization/87979
* gcc.dg/pr87979.c: New test.
2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
PR rtl-optimization/84032 PR rtl-optimization/84032
* gcc.dg/pr84032.c: New test. * gcc.dg/pr84032.c: New test.
......
/* PR rtl-optimization/87979 */
/* { dg-do compile } */
/* { dg-options "-Os -fmodulo-sched -fno-tree-loop-im" } */
/* { dg-additional-options "-march=z196" { target { s390*-*-* } } } */
void foo(void)
{
static int m;
for (int i = 0; i < 10; ++i)
m++;
}
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