aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-27 13:23:15 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-27 13:23:15 -0700
commit232801393614cd0dd2d1d9edb0821a08fe57e767 (patch)
tree2a3db5cb69837af35662b42fa3a1b95b877158ed /gcc/recog.h
parent30196c1ff4ff35c7d46be079c0b6466e9203a784 (diff)
downloadgcc-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.h11
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;