diff options
author | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-05-14 15:06:41 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-05-14 15:06:41 +0000 |
commit | 3ec6c6ee22cf85fa238f99f6e369450f7eba2848 (patch) | |
tree | 465614519c138683373755d8c5993938e93145c9 | |
parent | c62347f080a0e69a7acfc42f3b874b9e38a23f8a (diff) | |
download | gcc-3ec6c6ee22cf85fa238f99f6e369450f7eba2848.zip gcc-3ec6c6ee22cf85fa238f99f6e369450f7eba2848.tar.gz gcc-3ec6c6ee22cf85fa238f99f6e369450f7eba2848.tar.bz2 |
* loop.c (check_dbra_loop): Factor common test.
From-SVN: r66803
-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; |