unroll.c (loop_iterations): Don't return a final value for EQ comparison loops.

* unroll.c (loop_iterations): Don't return a final value for EQ
	comparison loops.

From-SVN: r25729
This commit is contained in:
J"orn Rennecke 1999-03-12 12:46:36 +00:00 committed by Joern Rennecke
parent a8edca885e
commit d24de7d183
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Fri Mar 12 20:45:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* unroll.c (loop_iterations): Don't return a final value for EQ
comparison loops.
Fri Mar 12 12:35:01 1999 Jim Wilson <wilson@cygnus.com>
* reload1.c (calculate_needs_all_insns): When ignore equivalence

View File

@ -3820,6 +3820,12 @@ loop_iterations (loop_start, loop_end, loop_info)
loop_info->initial_equiv_value = initial_value;
loop_info->final_equiv_value = final_value;
/* For EQ comparison loops, we don't have a valid final value.
Check this now so that we won't leave an invalid value if we
return early for any other reason. */
if (comparison_code == EQ)
loop_info->final_equiv_value = loop_info->final_value = 0;
if (increment == 0)
{
if (loop_dump_stream)