From 5cc13d1af6d09427fcdc2e7813a179630a306f65 Mon Sep 17 00:00:00 2001 From: James E Wilson Date: Sat, 13 Mar 2004 01:19:05 +0000 Subject: [PATCH] re PR target/13877 (miscompilation with -O -funroll-loops on powerpc) PR target/13877 * unroll.c (unroll_loop): If precondition loop, clear the initial_value field in loop_info. From-SVN: r79424 --- gcc/ChangeLog | 6 ++++++ gcc/unroll.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b14ab0997e5..26fda29fb639 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-03-10 James E Wilson + + PR target/13877 + * unroll.c (unroll_loop): If precondition loop, clear the initial_value + field in loop_info. + 2004-03-12 Gabriel Dos Reis Backport: diff --git a/gcc/unroll.c b/gcc/unroll.c index 44f689cebac3..4c6f74ea1c7a 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1119,6 +1119,11 @@ unroll_loop (loop, insn_count, strength_reduce_p) unroll_type = UNROLL_MODULO; loop_preconditioned = 1; + /* Preconditioning changes the loop's initial value. We set + it to an unknown value so that doloop_optimize won't get + confused. */ + loop_info->initial_value = 0; + /* Clean up. */ free (labels); } -- 2.47.2