From 3a7923efe1b5bf98ba371307d3d56c859ae5da67 Mon Sep 17 00:00:00 2001 From: amylaar Date: Wed, 3 Feb 1999 12:48:48 +0000 Subject: * loop.h (express_from): Declare. (struct induction): Replace derived flag with derived_from pointer. * loop.c (strength_reduce, record_giv, recombine_givs): Likewise. (express_from): No longer static. * unroll.c (find_splittable_givs): Replace derived with derived_from. When processing an address giv with which another giv has been combined that has also been derived from a third giv, handle like having combined with the third giv. Set splittable_regs_updates appropriately for derived givs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25007 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/loop.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc/loop.h') diff --git a/gcc/loop.h b/gcc/loop.h index f183b9e8fe5..50279bb09ec 100644 --- a/gcc/loop.h +++ b/gcc/loop.h @@ -101,8 +101,6 @@ struct induction initialized in unrolled loop. */ unsigned shared : 1; unsigned no_const_addval : 1; /* 1 if add_val does not contain a const. */ - unsigned derived : 1; /* For a giv, 1 if we decided to derive this - giv from another one. */ int lifetime; /* Length of life of this giv */ rtx derive_adjustment; /* If nonzero, is an adjustment to be subtracted from add_val when this giv @@ -115,6 +113,8 @@ struct induction struct induction *same; /* If this giv has been combined with another giv, this points to the base giv. The base giv will have COMBINED_WITH non-zero. */ + struct induction *derived_from;/* For a giv, if we decided to derive this + giv from another one. */ HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv is split, and a constant is eliminated from the address, the -constant is stored here @@ -226,6 +226,7 @@ extern int first_increment_giv, last_increment_giv; int invariant_p PROTO((rtx)); rtx get_condition_for_loop PROTO((rtx)); void emit_iv_add_mult PROTO((rtx, rtx, rtx, rtx, rtx)); +rtx express_from PROTO((struct induction *, struct induction *)); /* Forward declarations for non-static functions declared in stmt.c. */ void find_loop_tree_blocks PROTO((void)); -- cgit v1.2.3