diff options
author | aj <aj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-29 15:19:13 +0000 |
---|---|---|
committer | aj <aj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-29 15:19:13 +0000 |
commit | 8ec3a57be60a7500b15d2fa3ad8d530f15019064 (patch) | |
tree | 69a7605e420c2a4c3192a22cb99dabe1df635fc9 /gcc/cse.c | |
parent | 2358393e3a0db63122498ce79a712bc28fa95f9e (diff) | |
download | gcc-8ec3a57be60a7500b15d2fa3ad8d530f15019064.tar.gz |
* cse.c: Convert prototypes to ISO C90.
* cselib.c: Likewise.
* cselib.h: Likewise.
* dbxout.c: Likewise.
* debug.c: Likewise.
* df.c: Likewise.
* df.h: Likewise.
* dojump.c: Likewise.
* doloop.c: Likewise.
* dominance.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* dwarfout.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68673 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 394 |
1 files changed, 139 insertions, 255 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index f67bbcccfa8..f01c8120169 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -503,9 +503,9 @@ struct table_elt a cost of 2. Aside from these special cases, call `rtx_cost'. */ #define CHEAP_REGNO(N) \ - ((N) == FRAME_POINTER_REGNUM || (N) == HARD_FRAME_POINTER_REGNUM \ - || (N) == STACK_POINTER_REGNUM || (N) == ARG_POINTER_REGNUM \ - || ((N) >= FIRST_VIRTUAL_REGISTER && (N) <= LAST_VIRTUAL_REGISTER) \ + ((N) == FRAME_POINTER_REGNUM || (N) == HARD_FRAME_POINTER_REGNUM \ + || (N) == STACK_POINTER_REGNUM || (N) == ARG_POINTER_REGNUM \ + || ((N) >= FIRST_VIRTUAL_REGISTER && (N) <= LAST_VIRTUAL_REGISTER) \ || ((N) < FIRST_PSEUDO_REGISTER \ && FIXED_REGNO_P (N) && REGNO_REG_CLASS (N) != NO_REGS)) @@ -514,7 +514,7 @@ struct table_elt /* Get the info associated with register N. */ -#define GET_CSE_REG_INFO(N) \ +#define GET_CSE_REG_INFO(N) \ (((N) == cached_regno && cached_cse_reg_info) \ ? cached_cse_reg_info : get_cse_reg_info ((N))) @@ -596,76 +596,74 @@ struct cse_basic_block_data } *path; }; -static bool fixed_base_plus_p PARAMS ((rtx x)); -static int notreg_cost PARAMS ((rtx, enum rtx_code)); -static int approx_reg_cost_1 PARAMS ((rtx *, void *)); -static int approx_reg_cost PARAMS ((rtx)); -static int preferrable PARAMS ((int, int, int, int)); -static void new_basic_block PARAMS ((void)); -static void make_new_qty PARAMS ((unsigned int, enum machine_mode)); -static void make_regs_eqv PARAMS ((unsigned int, unsigned int)); -static void delete_reg_equiv PARAMS ((unsigned int)); -static int mention_regs PARAMS ((rtx)); -static int insert_regs PARAMS ((rtx, struct table_elt *, int)); -static void remove_from_table PARAMS ((struct table_elt *, unsigned)); -static struct table_elt *lookup PARAMS ((rtx, unsigned, enum machine_mode)), - *lookup_for_remove PARAMS ((rtx, unsigned, enum machine_mode)); -static rtx lookup_as_function PARAMS ((rtx, enum rtx_code)); -static struct table_elt *insert PARAMS ((rtx, struct table_elt *, unsigned, - enum machine_mode)); -static void merge_equiv_classes PARAMS ((struct table_elt *, - struct table_elt *)); -static void invalidate PARAMS ((rtx, enum machine_mode)); -static int cse_rtx_varies_p PARAMS ((rtx, int)); -static void remove_invalid_refs PARAMS ((unsigned int)); -static void remove_invalid_subreg_refs PARAMS ((unsigned int, unsigned int, - enum machine_mode)); -static void rehash_using_reg PARAMS ((rtx)); -static void invalidate_memory PARAMS ((void)); -static void invalidate_for_call PARAMS ((void)); -static rtx use_related_value PARAMS ((rtx, struct table_elt *)); -static unsigned canon_hash PARAMS ((rtx, enum machine_mode)); -static unsigned canon_hash_string PARAMS ((const char *)); -static unsigned safe_hash PARAMS ((rtx, enum machine_mode)); -static int exp_equiv_p PARAMS ((rtx, rtx, int, int)); -static rtx canon_reg PARAMS ((rtx, rtx)); -static void find_best_addr PARAMS ((rtx, rtx *, enum machine_mode)); -static enum rtx_code find_comparison_args PARAMS ((enum rtx_code, rtx *, rtx *, - enum machine_mode *, - enum machine_mode *)); -static rtx fold_rtx PARAMS ((rtx, rtx)); -static rtx equiv_constant PARAMS ((rtx)); -static void record_jump_equiv PARAMS ((rtx, int)); -static void record_jump_cond PARAMS ((enum rtx_code, enum machine_mode, - rtx, rtx, int)); -static void cse_insn PARAMS ((rtx, rtx)); -static int addr_affects_sp_p PARAMS ((rtx)); -static void invalidate_from_clobbers PARAMS ((rtx)); -static rtx cse_process_notes PARAMS ((rtx, rtx)); -static void cse_around_loop PARAMS ((rtx)); -static void invalidate_skipped_set PARAMS ((rtx, rtx, void *)); -static void invalidate_skipped_block PARAMS ((rtx)); -static void cse_check_loop_start PARAMS ((rtx, rtx, void *)); -static void cse_set_around_loop PARAMS ((rtx, rtx, rtx)); -static rtx cse_basic_block PARAMS ((rtx, rtx, struct branch_path *, int)); -static void count_reg_usage PARAMS ((rtx, int *, rtx, int)); -static int check_for_label_ref PARAMS ((rtx *, void *)); -extern void dump_class PARAMS ((struct table_elt*)); -static struct cse_reg_info * get_cse_reg_info PARAMS ((unsigned int)); -static int check_dependence PARAMS ((rtx *, void *)); - -static void flush_hash_table PARAMS ((void)); -static bool insn_live_p PARAMS ((rtx, int *)); -static bool set_live_p PARAMS ((rtx, rtx, int *)); -static bool dead_libcall_p PARAMS ((rtx, int *)); +static bool fixed_base_plus_p (rtx x); +static int notreg_cost (rtx, enum rtx_code); +static int approx_reg_cost_1 (rtx *, void *); +static int approx_reg_cost (rtx); +static int preferrable (int, int, int, int); +static void new_basic_block (void); +static void make_new_qty (unsigned int, enum machine_mode); +static void make_regs_eqv (unsigned int, unsigned int); +static void delete_reg_equiv (unsigned int); +static int mention_regs (rtx); +static int insert_regs (rtx, struct table_elt *, int); +static void remove_from_table (struct table_elt *, unsigned); +static struct table_elt *lookup (rtx, unsigned, enum machine_mode); +static struct table_elt *lookup_for_remove (rtx, unsigned, enum machine_mode); +static rtx lookup_as_function (rtx, enum rtx_code); +static struct table_elt *insert (rtx, struct table_elt *, unsigned, + enum machine_mode); +static void merge_equiv_classes (struct table_elt *, struct table_elt *); +static void invalidate (rtx, enum machine_mode); +static int cse_rtx_varies_p (rtx, int); +static void remove_invalid_refs (unsigned int); +static void remove_invalid_subreg_refs (unsigned int, unsigned int, + enum machine_mode); +static void rehash_using_reg (rtx); +static void invalidate_memory (void); +static void invalidate_for_call (void); +static rtx use_related_value (rtx, struct table_elt *); +static unsigned canon_hash (rtx, enum machine_mode); +static unsigned canon_hash_string (const char *); +static unsigned safe_hash (rtx, enum machine_mode); +static int exp_equiv_p (rtx, rtx, int, int); +static rtx canon_reg (rtx, rtx); +static void find_best_addr (rtx, rtx *, enum machine_mode); +static enum rtx_code find_comparison_args (enum rtx_code, rtx *, rtx *, + enum machine_mode *, + enum machine_mode *); +static rtx fold_rtx (rtx, rtx); +static rtx equiv_constant (rtx); +static void record_jump_equiv (rtx, int); +static void record_jump_cond (enum rtx_code, enum machine_mode, rtx, rtx, + int); +static void cse_insn (rtx, rtx); +static int addr_affects_sp_p (rtx); +static void invalidate_from_clobbers (rtx); +static rtx cse_process_notes (rtx, rtx); +static void cse_around_loop (rtx); +static void invalidate_skipped_set (rtx, rtx, void *); +static void invalidate_skipped_block (rtx); +static void cse_check_loop_start (rtx, rtx, void *); +static void cse_set_around_loop (rtx, rtx, rtx); +static rtx cse_basic_block (rtx, rtx, struct branch_path *, int); +static void count_reg_usage (rtx, int *, rtx, int); +static int check_for_label_ref (rtx *, void *); +extern void dump_class (struct table_elt*); +static struct cse_reg_info * get_cse_reg_info (unsigned int); +static int check_dependence (rtx *, void *); + +static void flush_hash_table (void); +static bool insn_live_p (rtx, int *); +static bool set_live_p (rtx, rtx, int *); +static bool dead_libcall_p (rtx, int *); /* Nonzero if X has the form (PLUS frame-pointer integer). We check for virtual regs here because the simplify_*_operation routines are called by integrate.c, which is called before virtual register instantiation. */ static bool -fixed_base_plus_p (x) - rtx x; +fixed_base_plus_p (rtx x) { switch (GET_CODE (x)) { @@ -695,8 +693,7 @@ fixed_base_plus_p (x) /* Dump the expressions in the equivalence class indicated by CLASSP. This function is used only for debugging. */ void -dump_class (classp) - struct table_elt *classp; +dump_class (struct table_elt *classp) { struct table_elt *elt; @@ -714,9 +711,7 @@ dump_class (classp) /* Subroutine of approx_reg_cost; called through for_each_rtx. */ static int -approx_reg_cost_1 (xp, data) - rtx *xp; - void *data; +approx_reg_cost_1 (rtx *xp, void *data) { rtx x = *xp; int *cost_p = data; @@ -747,8 +742,7 @@ approx_reg_cost_1 (xp, data) 0. If any other hard register reference occurs, return MAX_COST. */ static int -approx_reg_cost (x) - rtx x; +approx_reg_cost (rtx x) { int cost = 0; @@ -763,8 +757,7 @@ approx_reg_cost (x) Return a positive value if A is less desirable, or 0 if the two are equally good. */ static int -preferrable (cost_a, regcost_a, cost_b, regcost_b) - int cost_a, regcost_a, cost_b, regcost_b; +preferrable (int cost_a, int regcost_a, int cost_b, int regcost_b) { /* First, get rid of cases involving expressions that are entirely unwanted. */ @@ -798,9 +791,7 @@ preferrable (cost_a, regcost_a, cost_b, regcost_b) from COST macro to keep it simple. */ static int -notreg_cost (x, outer) - rtx x; - enum rtx_code outer; +notreg_cost (rtx x, enum rtx_code outer) { return ((GET_CODE (x) == SUBREG && GET_CODE (SUBREG_REG (x)) == REG @@ -821,9 +812,7 @@ notreg_cost (x, outer) Other uses like the latter are expected in the future. */ int -rtx_cost (x, outer_code) - rtx x; - enum rtx_code outer_code ATTRIBUTE_UNUSED; +rtx_cost (rtx x, enum rtx_code outer_code ATTRIBUTE_UNUSED) { int i, j; enum rtx_code code; @@ -893,9 +882,7 @@ rtx_cost (x, outer_code) Expect that X is properly formed address reference. */ int -address_cost (x, mode) - rtx x; - enum machine_mode mode; +address_cost (rtx x, enum machine_mode mode) { /* The address_cost target hook does not deal with ADDRESSOF nodes. But, during CSE, such nodes are present. Using an ADDRESSOF node which @@ -918,15 +905,13 @@ address_cost (x, mode) /* If the target doesn't override, compute the cost as with arithmetic. */ int -default_address_cost (x) - rtx x; +default_address_cost (rtx x) { return rtx_cost (x, MEM); } static struct cse_reg_info * -get_cse_reg_info (regno) - unsigned int regno; +get_cse_reg_info (unsigned int regno) { struct cse_reg_info **hash_head = ®_hash[REGHASH_FN (regno)]; struct cse_reg_info *p; @@ -974,7 +959,7 @@ get_cse_reg_info (regno) for a new basic block. */ static void -new_basic_block () +new_basic_block (void) { int i; @@ -1029,9 +1014,7 @@ new_basic_block () register before and initialize that quantity. */ static void -make_new_qty (reg, mode) - unsigned int reg; - enum machine_mode mode; +make_new_qty (unsigned int reg, enum machine_mode mode) { int q; struct qty_table_elem *ent; @@ -1056,8 +1039,7 @@ make_new_qty (reg, mode) OLD is not changing; NEW is. */ static void -make_regs_eqv (new, old) - unsigned int new, old; +make_regs_eqv (unsigned int new, unsigned int old) { unsigned int lastr, firstr; int q = REG_QTY (old); @@ -1120,8 +1102,7 @@ make_regs_eqv (new, old) /* Remove REG from its equivalence class. */ static void -delete_reg_equiv (reg) - unsigned int reg; +delete_reg_equiv (unsigned int reg) { struct qty_table_elem *ent; int q = REG_QTY (reg); @@ -1161,8 +1142,7 @@ delete_reg_equiv (reg) of X. */ static int -mention_regs (x) - rtx x; +mention_regs (rtx x) { enum rtx_code code; int i, j; @@ -1271,10 +1251,7 @@ mention_regs (x) so X's hash code may be different. */ static int -insert_regs (x, classp, modified) - rtx x; - struct table_elt *classp; - int modified; +insert_regs (rtx x, struct table_elt *classp, int modified) { if (GET_CODE (x) == REG) { @@ -1351,9 +1328,7 @@ insert_regs (x, classp, modified) and we save much time not recomputing it. */ static void -remove_from_table (elt, hash) - struct table_elt *elt; - unsigned hash; +remove_from_table (struct table_elt *elt, unsigned int hash) { if (elt == 0) return; @@ -1436,10 +1411,7 @@ remove_from_table (elt, hash) looks like X. */ static struct table_elt * -lookup (x, hash, mode) - rtx x; - unsigned hash; - enum machine_mode mode; +lookup (rtx x, unsigned int hash, enum machine_mode mode) { struct table_elt *p; @@ -1455,10 +1427,7 @@ lookup (x, hash, mode) Also ignore discrepancies in the machine mode of a register. */ static struct table_elt * -lookup_for_remove (x, hash, mode) - rtx x; - unsigned hash; - enum machine_mode mode; +lookup_for_remove (rtx x, unsigned int hash, enum machine_mode mode) { struct table_elt *p; @@ -1487,9 +1456,7 @@ lookup_for_remove (x, hash, mode) If one is found, return that expression. */ static rtx -lookup_as_function (x, code) - rtx x; - enum rtx_code code; +lookup_as_function (rtx x, enum rtx_code code) { struct table_elt *p = lookup (x, safe_hash (x, VOIDmode) & HASH_MASK, GET_MODE (x)); @@ -1545,11 +1512,7 @@ lookup_as_function (x, code) (preferrable ((X)->cost, (X)->regcost, (Y)->cost, (Y)->regcost) < 0) static struct table_elt * -insert (x, classp, hash, mode) - rtx x; - struct table_elt *classp; - unsigned hash; - enum machine_mode mode; +insert (rtx x, struct table_elt *classp, unsigned int hash, enum machine_mode mode) { struct table_elt *elt; @@ -1735,8 +1698,7 @@ insert (x, classp, hash, mode) Any invalid entries in CLASS2 will not be copied. */ static void -merge_equiv_classes (class1, class2) - struct table_elt *class1, *class2; +merge_equiv_classes (struct table_elt *class1, struct table_elt *class2) { struct table_elt *elt, *next, *new; @@ -1783,7 +1745,7 @@ merge_equiv_classes (class1, class2) /* Flush the entire hash table. */ static void -flush_hash_table () +flush_hash_table (void) { int i; struct table_elt *p; @@ -1808,9 +1770,7 @@ struct check_dependence_data }; static int -check_dependence (x, data) - rtx *x; - void *data; +check_dependence (rtx *x, void *data) { struct check_dependence_data *d = (struct check_dependence_data *) data; if (*x && GET_CODE (*x) == MEM) @@ -1832,9 +1792,7 @@ check_dependence (x, data) or it may be either of those plus a numeric offset. */ static void -invalidate (x, full_mode) - rtx x; - enum machine_mode full_mode; +invalidate (rtx x, enum machine_mode full_mode) { int i; struct table_elt *p; @@ -1974,8 +1932,7 @@ invalidate (x, full_mode) expressions to reappear as valid. */ static void -remove_invalid_refs (regno) - unsigned int regno; +remove_invalid_refs (unsigned int regno) { unsigned int i; struct table_elt *p, *next; @@ -1993,10 +1950,8 @@ remove_invalid_refs (regno) /* Likewise for a subreg with subreg_reg REGNO, subreg_byte OFFSET, and mode MODE. */ static void -remove_invalid_subreg_refs (regno, offset, mode) - unsigned int regno; - unsigned int offset; - enum machine_mode mode; +remove_invalid_subreg_refs (unsigned int regno, unsigned int offset, + enum machine_mode mode) { unsigned int i; struct table_elt *p, *next; @@ -2026,8 +1981,7 @@ remove_invalid_subreg_refs (regno, offset, mode) This is called when we make a jump equivalence. */ static void -rehash_using_reg (x) - rtx x; +rehash_using_reg (rtx x) { unsigned int i; struct table_elt *p, *next; @@ -2077,7 +2031,7 @@ rehash_using_reg (x) register. Also update their TICK values. */ static void -invalidate_for_call () +invalidate_for_call (void) { unsigned int regno, endregno; unsigned int i; @@ -2136,9 +2090,7 @@ invalidate_for_call () If none can be found, return 0. */ static rtx -use_related_value (x, elt) - rtx x; - struct table_elt *elt; +use_related_value (rtx x, struct table_elt *elt) { struct table_elt *relt = 0; struct table_elt *p, *q; @@ -2206,8 +2158,7 @@ use_related_value (x, elt) /* Hash a string. Just add its bytes up. */ static inline unsigned -canon_hash_string (ps) - const char *ps; +canon_hash_string (const char *ps) { unsigned hash = 0; const unsigned char *p = (const unsigned char *) ps; @@ -2233,9 +2184,7 @@ canon_hash_string (ps) is just (int) MEM plus the hash code of the address. */ static unsigned -canon_hash (x, mode) - rtx x; - enum machine_mode mode; +canon_hash (rtx x, enum machine_mode mode) { int i, j; unsigned hash = 0; @@ -2287,7 +2236,7 @@ canon_hash (x, mode) record = false; else record = true; - + if (!record) { do_not_record = 1; @@ -2487,9 +2436,7 @@ canon_hash (x, mode) /* Like canon_hash but with no side effects. */ static unsigned -safe_hash (x, mode) - rtx x; - enum machine_mode mode; +safe_hash (rtx x, enum machine_mode mode) { int save_do_not_record = do_not_record; int save_hash_arg_in_memory = hash_arg_in_memory; @@ -2515,10 +2462,7 @@ safe_hash (x, mode) is the same as that of the given value is pure luck. */ static int -exp_equiv_p (x, y, validate, equal_values) - rtx x, y; - int validate; - int equal_values; +exp_equiv_p (rtx x, rtx y, int validate, int equal_values) { int i, j; enum rtx_code code; @@ -2710,9 +2654,7 @@ exp_equiv_p (x, y, validate, equal_values) against certain constants or near-constants. */ static int -cse_rtx_varies_p (x, from_alias) - rtx x; - int from_alias; +cse_rtx_varies_p (rtx x, int from_alias) { /* We need not check for X and the equivalence class being of the same mode because if X is equivalent to a constant in some mode, it @@ -2780,9 +2722,7 @@ cse_rtx_varies_p (x, from_alias) generally be discarded since the changes we are making are optional. */ static rtx -canon_reg (x, insn) - rtx x; - rtx insn; +canon_reg (rtx x, rtx insn) { int i; enum rtx_code code; @@ -2879,10 +2819,7 @@ canon_reg (x, insn) hard registers here because we would also prefer the pseudo registers. */ static void -find_best_addr (insn, loc, mode) - rtx insn; - rtx *loc; - enum machine_mode mode; +find_best_addr (rtx insn, rtx *loc, enum machine_mode mode) { struct table_elt *elt; rtx addr = *loc; @@ -3095,10 +3032,8 @@ find_best_addr (insn, loc, mode) A or the code corresponding to the inverse of the comparison. */ static enum rtx_code -find_comparison_args (code, parg1, parg2, pmode1, pmode2) - enum rtx_code code; - rtx *parg1, *parg2; - enum machine_mode *pmode1, *pmode2; +find_comparison_args (enum rtx_code code, rtx *parg1, rtx *parg2, + enum machine_mode *pmode1, enum machine_mode *pmode2) { rtx arg1, arg2; @@ -3293,9 +3228,7 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2) of X before modifying it. */ static rtx -fold_rtx (x, insn) - rtx x; - rtx insn; +fold_rtx (rtx x, rtx insn) { enum rtx_code code; enum machine_mode mode; @@ -3851,8 +3784,8 @@ fold_rtx (x, insn) || code == UNORDERED) { if (must_swap || (const_arg0 - && (const_arg1 == 0 - || (GET_CODE (const_arg0) == CONST_INT + && (const_arg1 == 0 + || (GET_CODE (const_arg0) == CONST_INT && GET_CODE (const_arg1) != CONST_INT)))) { rtx tem = XEXP (x, 0); @@ -4323,8 +4256,7 @@ fold_rtx (x, insn) Return 0 if we don't know one. */ static rtx -equiv_constant (x) - rtx x; +equiv_constant (rtx x) { if (GET_CODE (x) == REG && REGNO_QTY_VALID_P (REGNO (x))) @@ -4374,9 +4306,7 @@ equiv_constant (x) This is similar to gen_lowpart in emit-rtl.c. */ rtx -gen_lowpart_if_possible (mode, x) - enum machine_mode mode; - rtx x; +gen_lowpart_if_possible (enum machine_mode mode, rtx x) { rtx result = gen_lowpart_common (mode, x); @@ -4412,16 +4342,14 @@ gen_lowpart_if_possible (mode, x) In certain cases, this can cause us to add an equivalence. For example, if we are following the taken case of - if (i == 2) + if (i == 2) we can add the fact that `i' and '2' are now equivalent. In any case, we can record that this comparison was passed. If the same comparison is seen later, we will know its value. */ static void -record_jump_equiv (insn, taken) - rtx insn; - int taken; +record_jump_equiv (rtx insn, int taken) { int cond_known_true; rtx op0, op1; @@ -4472,11 +4400,8 @@ record_jump_equiv (insn, taken) above function and called recursively. */ static void -record_jump_cond (code, mode, op0, op1, reversed_nonequality) - enum rtx_code code; - enum machine_mode mode; - rtx op0, op1; - int reversed_nonequality; +record_jump_cond (enum rtx_code code, enum machine_mode mode, rtx op0, + rtx op1, int reversed_nonequality) { unsigned op0_hash, op1_hash; int op0_in_memory, op1_in_memory; @@ -4727,9 +4652,7 @@ struct set }; static void -cse_insn (insn, libcall_insn) - rtx insn; - rtx libcall_insn; +cse_insn (rtx insn, rtx libcall_insn) { rtx x = PATTERN (insn); int i; @@ -6288,7 +6211,7 @@ cse_insn (insn, libcall_insn) } while (prev && GET_CODE (prev) == NOTE && NOTE_LINE_NUMBER (prev) != NOTE_INSN_BASIC_BLOCK); - + /* Do not swap the registers around if the previous instruction attaches a REG_EQUIV note to REG1. @@ -6370,7 +6293,7 @@ cse_insn (insn, libcall_insn) /* Remove from the hash table all expressions that reference memory. */ static void -invalidate_memory () +invalidate_memory (void) { int i; struct table_elt *p, *next; @@ -6388,8 +6311,7 @@ invalidate_memory () 1 and update the register tables to show the effect. Else, return 0. */ static int -addr_affects_sp_p (addr) - rtx addr; +addr_affects_sp_p (rtx addr) { if (GET_RTX_CLASS (GET_CODE (addr)) == 'a' && GET_CODE (XEXP (addr, 0)) == REG @@ -6420,8 +6342,7 @@ addr_affects_sp_p (addr) X is the pattern of the insn. */ static void -invalidate_from_clobbers (x) - rtx x; +invalidate_from_clobbers (rtx x) { if (GET_CODE (x) == CLOBBER) { @@ -6466,9 +6387,7 @@ invalidate_from_clobbers (x) Return the replacement for X. */ static rtx -cse_process_notes (x, object) - rtx x; - rtx object; +cse_process_notes (rtx x, rtx object) { enum rtx_code code = GET_CODE (x); const char *fmt = GET_RTX_FORMAT (code); @@ -6560,8 +6479,7 @@ cse_process_notes (x, object) jumps to a label used only once. */ static void -cse_around_loop (loop_start) - rtx loop_start; +cse_around_loop (rtx loop_start) { rtx insn; int i; @@ -6632,10 +6550,7 @@ cse_around_loop (loop_start) since they are done elsewhere. This function is called via note_stores. */ static void -invalidate_skipped_set (dest, set, data) - rtx set; - rtx dest; - void *data ATTRIBUTE_UNUSED; +invalidate_skipped_set (rtx dest, rtx set, void *data ATTRIBUTE_UNUSED) { enum rtx_code code = GET_CODE (dest); @@ -6669,8 +6584,7 @@ invalidate_skipped_set (dest, set, data) conditionally executed. */ static void -invalidate_skipped_block (start) - rtx start; +invalidate_skipped_block (rtx start) { rtx insn; @@ -6697,10 +6611,7 @@ invalidate_skipped_block (start) NULL_RTX. */ static void -cse_check_loop_start (x, set, data) - rtx x; - rtx set ATTRIBUTE_UNUSED; - void *data; +cse_check_loop_start (rtx x, rtx set ATTRIBUTE_UNUSED, void *data) { rtx *cse_check_loop_start_value = (rtx *) data; @@ -6731,10 +6642,7 @@ cse_check_loop_start (x, set, data) In any event, we invalidate whatever this SET or CLOBBER modifies. */ static void -cse_set_around_loop (x, insn, loop_start) - rtx x; - rtx insn; - rtx loop_start; +cse_set_around_loop (rtx x, rtx insn, rtx loop_start) { struct table_elt *src_elt; @@ -6841,12 +6749,8 @@ cse_set_around_loop (x, insn, loop_start) to construct the output branch path. */ void -cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks) - rtx insn; - struct cse_basic_block_data *data; - int follow_jumps; - int after_loop; - int skip_blocks; +cse_end_of_basic_block (rtx insn, struct cse_basic_block_data *data, + int follow_jumps, int after_loop, int skip_blocks) { rtx p = insn, q; int nsets = 0; @@ -7063,11 +6967,7 @@ cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks) in conditional jump instructions. */ int -cse_main (f, nregs, after_loop, file) - rtx f; - int nregs; - int after_loop; - FILE *file; +cse_main (rtx f, int nregs, int after_loop, FILE *file) { struct cse_basic_block_data val; rtx insn = f; @@ -7213,10 +7113,8 @@ cse_main (f, nregs, after_loop, file) block and this CSE pass is before loop.c. */ static rtx -cse_basic_block (from, to, next_branch, around_loop) - rtx from, to; - struct branch_path *next_branch; - int around_loop; +cse_basic_block (rtx from, rtx to, struct branch_path *next_branch, + int around_loop) { rtx insn; int to_usage = 0; @@ -7429,9 +7327,7 @@ cse_basic_block (from, to, next_branch, around_loop) there isn't a REG_LABEL note. Return one if so. DATA is the insn. */ static int -check_for_label_ref (rtl, data) - rtx *rtl; - void *data; +check_for_label_ref (rtx *rtl, void *data) { rtx insn = (rtx) data; @@ -7455,11 +7351,7 @@ check_for_label_ref (rtl, data) modify the liveness of DEST. */ static void -count_reg_usage (x, counts, dest, incr) - rtx x; - int *counts; - rtx dest; - int incr; +count_reg_usage (rtx x, int *counts, rtx dest, int incr) { enum rtx_code code; rtx note; @@ -7563,10 +7455,8 @@ count_reg_usage (x, counts, dest, incr) /* Return true if set is live. */ static bool -set_live_p (set, insn, counts) - rtx set; - rtx insn ATTRIBUTE_UNUSED; /* Only used with HAVE_cc0. */ - int *counts; +set_live_p (rtx set, rtx insn ATTRIBUTE_UNUSED, /* Only used with HAVE_cc0. */ + int *counts) { #ifdef HAVE_cc0 rtx tem; @@ -7599,9 +7489,7 @@ set_live_p (set, insn, counts) /* Return true if insn is live. */ static bool -insn_live_p (insn, counts) - rtx insn; - int *counts; +insn_live_p (rtx insn, int *counts) { int i; if (flag_non_call_exceptions && may_trap_p (PATTERN (insn))) @@ -7631,9 +7519,7 @@ insn_live_p (insn, counts) /* Return true if libcall is dead as a whole. */ static bool -dead_libcall_p (insn, counts) - rtx insn; - int *counts; +dead_libcall_p (rtx insn, int *counts) { rtx note, set, new; @@ -7676,7 +7562,7 @@ dead_libcall_p (insn, counts) return true; } } - + count_reg_usage (insn, counts, NULL_RTX, 1); return false; } @@ -7690,9 +7576,7 @@ dead_libcall_p (insn, counts) remaining passes of the compilation are also sped up. */ int -delete_trivially_dead_insns (insns, nreg) - rtx insns; - int nreg; +delete_trivially_dead_insns (rtx insns, int nreg) { int *counts; rtx insn, prev; |