summaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1999-03-12 12:46:36 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1999-03-12 12:46:36 +0000
commit94836c40d75547b472c059a361b52529952efd46 (patch)
tree8f3f6a35966180d41285934d113acd850f972b60 /gcc/unroll.c
parentcb9ff92c0cd9c78732adca3c156ecfc975332a17 (diff)
downloadgcc-94836c40d75547b472c059a361b52529952efd46.tar.gz
* unroll.c (loop_iterations): Don't return a final value for EQ
comparison loops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 32ed5314370..e119352dc8a 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -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)