diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-05-19 16:24:50 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-05-19 16:24:50 +0000 |
commit | c5b9f902d062d5b2e88f80fc6b381621bb8628b8 (patch) | |
tree | e0ecdaaa5bb0302cafb143c8a48eac5470d4171e /gcc/reg-stack.c | |
parent | 641239ecbec2a1de917c35e2e3b5f5c56abc205d (diff) | |
download | gcc-c5b9f902d062d5b2e88f80fc6b381621bb8628b8.tar.gz |
Include insn-flags.h.
Add prototypes for static functions.
(gen_jump, gen_movdf, gen_movxf): Delete redundant declarations.
(find_regno_note, emit_jump_insn_before, emit_label_after): Likewise.
(swap_rtx_condition): Now static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12046 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 65b93927a8f..51dd8f53a3c 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -165,6 +165,7 @@ Boston, MA 02111-1307, USA. */ #include "regs.h" #include "hard-reg-set.h" #include "flags.h" +#include "insn-flags.h" #ifdef STACK_REGS @@ -231,21 +232,45 @@ static rtx ? (abort() , -1) : block_number[INSN_UID (INSN)]) extern rtx forced_labels; -extern rtx gen_jump (); -extern rtx gen_movdf (), gen_movxf (); -extern rtx find_regno_note (); -extern rtx emit_jump_insn_before (); -extern rtx emit_label_after (); /* Forward declarations */ -static void find_blocks (); -static uses_reg_or_mem (); -static void stack_reg_life_analysis (); -static void record_reg_life_pat (); -static void change_stack (); -static void convert_regs (); -static void dump_stack_info (); +static void mark_regs_pat PROTO((rtx, HARD_REG_SET *)); +static void straighten_stack PROTO((rtx, stack)); +static void record_label_references PROTO((rtx, rtx)); +static rtx *get_true_reg PROTO((rtx *)); +static int constrain_asm_operands PROTO((int, rtx *, char **, int *, + enum reg_class *)); + +static void record_asm_reg_life PROTO((rtx,stack, rtx *, char **, + int, int)); +static void record_reg_life_pat PROTO((rtx, HARD_REG_SET *, + HARD_REG_SET *, int)); +static void get_asm_operand_length PROTO((rtx, int, int *, int *)); +static void record_reg_life PROTO((rtx, int, stack)); +static void find_blocks PROTO((rtx)); +static int uses_reg_or_mem PROTO((rtx)); +static rtx stack_result PROTO((tree)); +static void stack_reg_life_analysis PROTO((rtx, HARD_REG_SET *)); +static void replace_reg PROTO((rtx *, int)); +static void remove_regno_note PROTO((rtx, enum reg_note, int)); +static int get_hard_regnum PROTO((stack, rtx)); +static void delete_insn_for_stacker PROTO((rtx)); +static rtx emit_pop_insn PROTO((rtx, stack, rtx, rtx (*) ())); +static void emit_swap_insn PROTO((rtx, stack, rtx)); +static void move_for_stack_reg PROTO((rtx, stack, rtx)); +static void swap_rtx_condition PROTO((rtx)); +static void compare_for_stack_reg PROTO((rtx, stack, rtx)); +static void subst_stack_regs_pat PROTO((rtx, stack, rtx)); +static void subst_asm_stack_regs PROTO((rtx, stack, rtx *, rtx **, + char **, int, int)); +static void subst_stack_regs PROTO((rtx, stack)); +static void change_stack PROTO((rtx, stack, stack, rtx (*) ())); + +static void goto_block_pat PROTO((rtx, stack, rtx)); +static void convert_regs PROTO((void)); +static void print_blocks PROTO((FILE *, rtx, rtx)); +static void dump_stack_info PROTO((FILE *)); /* Mark all registers needed for this pattern. */ @@ -1947,7 +1972,7 @@ move_for_stack_reg (insn, regstack, pat) abort (); } -void +static void swap_rtx_condition (pat) rtx pat; { @@ -3075,6 +3100,7 @@ print_blocks (file, insn, pat) /* Write information about stack registers and stack blocks into FILE. This is part of making a debugging dump. */ + static void dump_stack_info (file) FILE *file; |