Commit c7b30677 by Franz Sirl Committed by Franz Sirl

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
parent bd015d37
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)
......
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