+
+/* Return nonzero if register in range [REGNO, ENDREGNO)
+ appears either explicitly or implicitly in X
+ other than being stored into. */
+extern int refers_to_regno_for_reload_p PROTO((int, int, rtx, rtx *));
+
+/* Nonzero if modifying X will affect IN. */
+extern int reg_overlap_mentioned_for_reload_p PROTO((rtx, rtx));
+
+/* Return nonzero if anything in X contains a MEM. Look also for pseudo
+ registers. */
+extern int refers_to_mem_for_reload_p PROTO((rtx));
+
+/* Check the insns before INSN to see if there is a suitable register
+ containing the same value as GOAL. */
+extern rtx find_equiv_reg PROTO((rtx, rtx, enum reg_class, int, short *,
+ int, enum machine_mode));
+
+/* Return 1 if register REGNO is the subject of a clobber in insn INSN. */
+extern int regno_clobbered_p PROTO((int, rtx));
+
+
+/* Functions in reload1.c: */
+
+/* Initialize the reload pass once per compilation. */
+extern void init_reload PROTO((void));
+
+/* The reload pass itself. */
+extern int reload STDIO_PROTO((rtx, int, FILE *));
+
+/* Mark the slots in regs_ever_live for the hard regs
+ used by pseudo-reg number REGNO. */
+extern void mark_home_live PROTO((int));
+
+/* Scan X and replace any eliminable registers (such as fp) with a
+ replacement (such as sp), plus an offset. */
+extern rtx eliminate_regs PROTO((rtx, enum machine_mode, rtx));
+
+/* Emit code to perform an input reload of IN to RELOADREG. IN is from
+ operand OPNUM with reload type TYPE. */
+extern rtx gen_input_reload PROTO((rtx, rtx, int, enum reload_type));
+
+/* Functions in caller-save.c: */
+
+/* Initialize for caller-save. */
+extern void init_caller_save PROTO((void));
+
+/* Initialize save areas by showing that we haven't allocated any yet. */
+extern void init_save_areas PROTO((void));
+
+/* Allocate save areas for any hard registers that might need saving. */
+extern int setup_save_areas PROTO((int *));
+
+/* Find the places where hard regs are live across calls and save them. */
+extern void save_call_clobbered_regs PROTO((enum machine_mode));