diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-01-27 15:45:50 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-01-27 15:45:50 +0000 |
commit | 3ec2b59097937f6c218fa04101ba7b649ddf15b5 (patch) | |
tree | 40543c10fc8ef8193cefb6be07456d72f2575894 /gcc/rtl.h | |
parent | a9c70c222668111f1e5924c5a383f7d10057866d (diff) | |
download | gcc-3ec2b59097937f6c218fa04101ba7b649ddf15b5.zip gcc-3ec2b59097937f6c218fa04101ba7b649ddf15b5.tar.gz gcc-3ec2b59097937f6c218fa04101ba7b649ddf15b5.tar.bz2 |
rtl.h (insn_first_p): Declare.
* rtl.h (insn_first_p): Declare.
* rtlanal.c (insn_first_p): New function.
* loop.h (varray.h): Include.
(struct induction): Change combined_with to unsigned.
New members derived, ix and last_use.
(reg_iv_type, reg_iv_info): Now varray_type. All references changed.
(REG_IV_TYPE, REG_IV_INFO): Define.
(first_increment_giv, last_increment_giv): Declare.
* loop.c (loop_number_loop_cont): New static variable.
(loop_number_cont_dominator): Likewise.
(reg_iv_type, reg_iv_info): Now varray_type.
(first_increment_giv, last_increment_giv): New variables.
(compute_luids, verify_dominator, find_life_end): New functions.
(cmp_recombine_givs_stats, recombine_givs): Likewise.
(loop_optimize): Allocate loop_number_loop_cont and
loop_number_cont_dominator. Use compute_luids.
(find_and_verify_loops): Initialize loop_number_loop_cont and
loop_number_cont_dominator.
(strength_reduce): Try to find bivs that can be expressed as givs
of another biv, and to convert biv increments into givs.
Call recombine_givs. Handle derived givs.
(record_biv): New argument location. All callers changed.
(record_giv): Initialize derived and last_use fields.
(basic_induction_var): New argument location. All callers changed.
(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
Increment combined_with instead of setting to 1.
* unroll.c (derived_regs): New static variable.
(unroll_loop): Initialize it.
Allocate local_regno according to max_reg_num.
(copy_loop_body): Cope with derived givs.
(find_splittable_givs): Check for Givs made from biv increments.
Set derived_regs for givs.
* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
From-SVN: r24889
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1008,6 +1008,7 @@ extern int reg_set_between_p PROTO((rtx, rtx, rtx)); extern int regs_set_between_p PROTO((rtx, rtx, rtx)); extern int modified_between_p PROTO((rtx, rtx, rtx)); extern int no_labels_between_p PROTO((rtx, rtx)); +extern int no_jumps_between_p PROTO((rtx, rtx)); extern int modified_in_p PROTO((rtx, rtx)); extern int reg_set_p PROTO((rtx, rtx)); extern rtx single_set PROTO((rtx)); @@ -1035,6 +1036,7 @@ extern rtx replace_regs PROTO((rtx, rtx *, int, int)); extern int computed_jump_p PROTO((rtx)); typedef int (*rtx_function) PROTO((rtx *, void *)); extern int for_each_rtx PROTO((rtx *, rtx_function, void *)); +extern int insn_first_p PROTO((rtx, rtx)); /* flow.c */ |