Commit 7905cfef by Jeffrey A Law Committed by Jeff Law

loop.c (check_dbra_loop): Make change from July 17...

        * loop.c (check_dbra_loop): Make change from July 17, 2000 work
        on targets which need more than one insn for a compare/cbranch
        operation.

From-SVN: r35404
parent 68c8d8ce
Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com)
* loop.c (check_dbra_loop): Make change from July 17, 2000 work
on targets which need more than one insn for a compare/cbranch
operation.
2000-07-31 Jim Wilson <wilson@cygnus.com> 2000-07-31 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.c (ia64_function_arg): Use alignment not size * config/ia64/ia64.c (ia64_function_arg): Use alignment not size
......
...@@ -7788,10 +7788,13 @@ check_dbra_loop (loop, insn_count) ...@@ -7788,10 +7788,13 @@ check_dbra_loop (loop, insn_count)
{ {
/* If more than one condition is present to control the loop, then /* If more than one condition is present to control the loop, then
do not proceed, as this function does not know how to rewrite do not proceed, as this function does not know how to rewrite
loop tests with more than one condition. */ loop tests with more than one condition.
Look backwards from the first insn in the last comparison
sequence and see if we've got another comparison sequence. */
rtx jump1; rtx jump1;
if ((jump1 = prev_nonnote_insn (jump)) != loop->cont) if ((jump1 = prev_nonnote_insn (first_compare)) != loop->cont)
if (GET_CODE (jump1) == JUMP_INSN) if (GET_CODE (jump1) == JUMP_INSN)
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment