From 3ec6c6ee22cf85fa238f99f6e369450f7eba2848 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 14 May 2003 15:06:41 +0000 Subject: * loop.c (check_dbra_loop): Factor common test. From-SVN: r66803 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'gcc') 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 + + * loop.c (check_dbra_loop): Factor common test. + 2003-05-14 Ben Elliston * doc/md.texi (Automaton pipeline description): Grammar fixes. @@ -504,6 +508,7 @@ Mon May 12 11:32:53 CEST 2003 Jan Hubicka (s390_function_arg): Likewise. (s390_va_arg): Likewise +>>>>>>> 1.17806 2003-05-11 Nathan Sidwell * coverage.h (coverage_counter_alloc): New function. diff --git a/gcc/loop.c b/gcc/loop.c index b74d6ad..c161bc8 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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; -- cgit v1.1