mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-11 21:37:53 +08:00
loop.c (check_dbra_loop): A biv has uses besides counting if it is used to set another biv.
2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * loop.c (check_dbra_loop): A biv has uses besides counting if it is used to set another biv. From-SVN: r40042
This commit is contained in:
parent
bd015d3783
commit
c7b3067700
@ -1,3 +1,8 @@
|
||||
2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||
|
||||
* loop.c (check_dbra_loop): A biv has uses besides counting if it is
|
||||
used to set another biv.
|
||||
|
||||
Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* tree.h (BLOCK_DEAD): New macro.
|
||||
|
@ -7259,6 +7259,7 @@ check_dbra_loop (loop, insn_count)
|
||||
if (bl->giv_count == 0 && ! loop->exit_count)
|
||||
{
|
||||
rtx bivreg = regno_reg_rtx[bl->regno];
|
||||
struct iv_class *blt;
|
||||
|
||||
/* If there are no givs for this biv, and the only exit is the
|
||||
fall through at the end of the loop, then
|
||||
@ -7295,6 +7296,14 @@ check_dbra_loop (loop, insn_count)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* A biv has uses besides counting if it is used to set another biv. */
|
||||
for (blt = ivs->list; blt; blt = blt->next)
|
||||
if (blt->init_set && reg_mentioned_p (bivreg, SET_SRC (blt->init_set)))
|
||||
{
|
||||
no_use_except_counting = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (no_use_except_counting)
|
||||
|
Loading…
Reference in New Issue
Block a user