diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/loop.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 67ee501..f5e7884 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-05-14 Nathan Sidwell <nathan@codesourcery.com> + + * loop.c (check_dbra_loop): Factor common test. + 2003-05-14 Ben Elliston <bje@wasabisystems.com> * doc/md.texi (Automaton pipeline description): Grammar fixes. @@ -504,6 +508,7 @@ Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz> (s390_function_arg): Likewise. (s390_va_arg): Likewise +>>>>>>> 1.17806 2003-05-11 Nathan Sidwell <nathan@codesourcery.com> * coverage.h (coverage_counter_alloc): New function. @@ -8274,9 +8274,11 @@ check_dbra_loop (loop, insn_count) && REGNO (SET_DEST (set)) == bl->regno) /* An insn that sets the biv is okay. */ ; - else if ((p == prev_nonnote_insn (prev_nonnote_insn (loop_end)) - || p == prev_nonnote_insn (loop_end)) - && reg_mentioned_p (bivreg, PATTERN (p))) + else if (!reg_mentioned_p (bivreg, PATTERN (p))) + /* An insn that doesn't mention the biv is okay. */ + ; + else if (p == prev_nonnote_insn (prev_nonnote_insn (loop_end)) + || p == prev_nonnote_insn (loop_end)) { /* If either of these insns uses the biv and sets a pseudo that has more than one usage, then the biv has uses @@ -8290,7 +8292,7 @@ check_dbra_loop (loop, insn_count) break; } } - else if (reg_mentioned_p (bivreg, PATTERN (p))) + else { no_use_except_counting = 0; break; |