diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 1998-11-25 21:32:27 +0000 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 1998-11-25 21:32:27 +0000 |
commit | e96b4d7a44d83dc2d5cbf2f6a12d9c46a76886f4 (patch) | |
tree | cd0eae0716d026df7c60885348c56a4214b633aa /gcc/loop.h | |
parent | 302670f3f00ef8b555278b4216e3c1e1544352c2 (diff) | |
download | gcc-e96b4d7a44d83dc2d5cbf2f6a12d9c46a76886f4.zip gcc-e96b4d7a44d83dc2d5cbf2f6a12d9c46a76886f4.tar.gz gcc-e96b4d7a44d83dc2d5cbf2f6a12d9c46a76886f4.tar.bz2 |
loop.h (precondition_loop_p): Added new mode argument.
* loop.h (precondition_loop_p): Added new mode argument.
* unroll.c (precondition_loop_p): Likewise.
(approx_final_value): Function deleted and subsumed
into loop_iterations.
(loop_find_equiv_value): New function.
(loop_iterations): Use loop_find_equiv_value to find increments
too large to be immediate constants. Also use it to find terms
common to initial and final iteration values that can be removed.
From-SVN: r23885
Diffstat (limited to 'gcc/loop.h')
-rw-r--r-- | gcc/loop.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -215,7 +215,8 @@ void unroll_loop PROTO((rtx, int, rtx, rtx, struct loop_info *, int)); rtx biv_total_increment PROTO((struct iv_class *, rtx, rtx)); unsigned HOST_WIDE_INT loop_iterations PROTO((rtx, rtx, struct loop_info *)); int precondition_loop_p PROTO((rtx, struct loop_info *, - rtx *, rtx *, rtx *)); + rtx *, rtx *, rtx *, + enum machine_mode *mode)); rtx final_biv_value PROTO((struct iv_class *, rtx, rtx, unsigned HOST_WIDE_INT)); rtx final_giv_value PROTO((struct induction *, rtx, rtx, |