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
This commit is contained in:
parent
68c8d8ce93
commit
7905cfefe1
|
@ -1,3 +1,9 @@
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
/* 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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue