unroll.c (loop_find_equiv_value): If ret is modified between insn and loop_start, ret might not be equivalent to reg.

* unroll.c (loop_find_equiv_value): If ret is modified between
	insn and loop_start, ret might not be equivalent to reg.

	* gcc.c-torture/execute/20000819-1.x: Remove.

From-SVN: r35857
This commit is contained in:
Jakub Jelinek 2000-08-21 21:58:35 +02:00 committed by Jakub Jelinek
parent 5804a754e5
commit 6315f06806
4 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-08-21 Jakub Jelinek <jakub@redhat.com>
* unroll.c (loop_find_equiv_value): If ret is modified between
insn and loop_start, ret might not be equivalent to reg.
2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
* c-common.c (init_dollar_format_checking,

View File

@ -1,3 +1,7 @@
2000-08-21 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/20000819-1.x: Remove.
2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
* gcc.dg/c90-printf-3.c, gcc.dg/c90-scanf-2.c,

View File

@ -1,2 +0,0 @@
set torture_execute_xfail "*-*-*"
return 0

View File

@ -3540,6 +3540,11 @@ loop_find_equiv_value (loop, reg)
ret = XEXP (note, 0);
else
ret = SET_SRC (set);
/* We cannot do this if it changes between the
assignment and loop start though. */
if (modified_between_p (ret, insn, loop_start))
ret = reg;
}
break;
}