diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-27 13:23:15 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-27 13:23:15 -0700 |
commit | 232801393614cd0dd2d1d9edb0821a08fe57e767 (patch) | |
tree | 2a3db5cb69837af35662b42fa3a1b95b877158ed /gcc/recog.h | |
parent | 30196c1ff4ff35c7d46be079c0b6466e9203a784 (diff) | |
download | gcc-232801393614cd0dd2d1d9edb0821a08fe57e767.zip gcc-232801393614cd0dd2d1d9edb0821a08fe57e767.tar.gz gcc-232801393614cd0dd2d1d9edb0821a08fe57e767.tar.bz2 |
Makefile.in (recog.o): Don't depend on resource.h.
* Makefile.in (recog.o): Don't depend on resource.h.
* recog.c: Don't include resource.h.
(recog_last_allowed_insn): Remove.
(recog_next_insn): Remove.
(struct peep2_insn_data): New.
(peep2_insn_data, peep2_current): New.
(peep2_next_insn): New.
(peep2_regno_dead_p, peep2_reg_dead_p): New.
(peep2_find_free_register): New.
(peephole2_optimize): Track life information by insn as we go.
* recog.h: Update declarations.
* resource.c (find_free_register, reg_dead_p): Remove.
* resource.h: Remove their declarations.
* toplev.c: Include hard-reg-set.h before recog.h.
* genconfig.c (max_insns_per_peep2): New.
(gen_peephole2): New.
(main): Call it.
* genemit.c (output_peephole2_scratches): Generate calls to
peep2_find_free_register; adjust surrounding code.
(main): Have insn-emit.c include hard-reg-set.h before recog.h.
* genrecog.c (change_state): Don't track last_insn.
(write_action): Write into *_pmatch_len before accepting.
(write_tree): Adjust peephole2_insns and subroutines to match.
* config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
From-SVN: r34208
Diffstat (limited to 'gcc/recog.h')
-rw-r--r-- | gcc/recog.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/recog.h b/gcc/recog.h index 51f6fb0..465013a 100644 --- a/gcc/recog.h +++ b/gcc/recog.h @@ -116,9 +116,16 @@ extern void add_clobbers PARAMS ((rtx, int)); extern void insn_extract PARAMS ((rtx)); extern void extract_insn PARAMS ((rtx)); extern void preprocess_constraints PARAMS ((void)); -extern rtx recog_next_insn PARAMS ((rtx, int)); +extern rtx peep2_next_insn PARAMS ((int)); +extern int peep2_regno_dead_p PARAMS ((int, int)); +extern int peep2_reg_dead_p PARAMS ((int, rtx)); +#ifdef CLEAR_HARD_REG_SET +extern rtx peep2_find_free_register PARAMS ((int, int, const char *, + enum machine_mode, + HARD_REG_SET *)); +#endif extern void peephole2_optimize PARAMS ((FILE *)); -extern rtx peephole2_insns PARAMS ((rtx, rtx, rtx *)); +extern rtx peephole2_insns PARAMS ((rtx, rtx, int *)); /* Nonzero means volatile operands are recognized. */ extern int volatile_ok; |