Commit 3fe41456 by Kaveh R. Ghazi Committed by Kaveh Ghazi

ggc-common.c: PROTO -> PARAMS.

        * ggc-common.c: PROTO -> PARAMS.
        * ggc-page.c: Likewise.
        * ggc-simple.c: Likewise.
        * ggc.h: Likewise.
        * global.c: Likewise.
        * graph.c: Likewise.
        * gthr-win32.h: Likewise.
        * haifa-sched.c: Likewise.
        * halfpic.h: Likewise.
        * integrate.c: Likewise.
        * integrate.h: Likewise.
        * jump.c: Likewise.
        * lcm.c: Likewise.
        * local-alloc.c: Likewise.
        * loop.c: Likewise.
        * loop.h: Likewise.

From-SVN: r31458
parent a94ae8f5
2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ggc-common.c: PROTO -> PARAMS.
* ggc-page.c: Likewise.
* ggc-simple.c: Likewise.
* ggc.h: Likewise.
* global.c: Likewise.
* graph.c: Likewise.
* gthr-win32.h: Likewise.
* haifa-sched.c: Likewise.
* halfpic.h: Likewise.
* integrate.c: Likewise.
* integrate.h: Likewise.
* jump.c: Likewise.
* lcm.c: Likewise.
* local-alloc.c: Likewise.
* loop.c: Likewise.
* loop.h: Likewise.
2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* genattr.c: PROTO -> PARAMS. * genattr.c: PROTO -> PARAMS.
* genattrtab.c: Likewise. * genattrtab.c: Likewise.
* gencheck.c: Likewise. * gencheck.c: Likewise.
......
...@@ -51,7 +51,7 @@ struct ggc_root ...@@ -51,7 +51,7 @@ struct ggc_root
void *base; void *base;
int nelt; int nelt;
int size; int size;
void (*cb) PROTO ((void *)); void (*cb) PARAMS ((void *));
}; };
static struct ggc_root *roots; static struct ggc_root *roots;
...@@ -117,7 +117,7 @@ void ...@@ -117,7 +117,7 @@ void
ggc_add_root (base, nelt, size, cb) ggc_add_root (base, nelt, size, cb)
void *base; void *base;
int nelt, size; int nelt, size;
void (*cb) PROTO ((void *)); void (*cb) PARAMS ((void *));
{ {
struct ggc_root *x = (struct ggc_root *) xmalloc (sizeof (*x)); struct ggc_root *x = (struct ggc_root *) xmalloc (sizeof (*x));
...@@ -217,7 +217,7 @@ ggc_mark_roots () ...@@ -217,7 +217,7 @@ ggc_mark_roots ()
{ {
char *elt = x->base; char *elt = x->base;
int s = x->size, n = x->nelt; int s = x->size, n = x->nelt;
void (*cb) PROTO ((void *)) = x->cb; void (*cb) PARAMS ((void *)) = x->cb;
int i; int i;
for (i = 0; i < n; ++i, elt += s) for (i = 0; i < n; ++i, elt += s)
......
...@@ -266,22 +266,22 @@ static struct globals ...@@ -266,22 +266,22 @@ static struct globals
#define GGC_MIN_LAST_ALLOCATED (4 * 1024 * 1024) #define GGC_MIN_LAST_ALLOCATED (4 * 1024 * 1024)
static int ggc_allocated_p PROTO ((const void *)); static int ggc_allocated_p PARAMS ((const void *));
static page_entry *lookup_page_table_entry PROTO ((const void *)); static page_entry *lookup_page_table_entry PARAMS ((const void *));
static void set_page_table_entry PROTO ((void *, page_entry *)); static void set_page_table_entry PARAMS ((void *, page_entry *));
static char *alloc_anon PROTO ((char *, size_t)); static char *alloc_anon PARAMS ((char *, size_t));
static struct page_entry * alloc_page PROTO ((unsigned)); static struct page_entry * alloc_page PARAMS ((unsigned));
static void free_page PROTO ((struct page_entry *)); static void free_page PARAMS ((struct page_entry *));
static void release_pages PROTO ((void)); static void release_pages PARAMS ((void));
static void clear_marks PROTO ((void)); static void clear_marks PARAMS ((void));
static void sweep_pages PROTO ((void)); static void sweep_pages PARAMS ((void));
static void ggc_recalculate_in_use_p PROTO ((page_entry *)); static void ggc_recalculate_in_use_p PARAMS ((page_entry *));
#ifdef GGC_POISON #ifdef GGC_POISON
static void poison_pages PROTO ((void)); static void poison_pages PARAMS ((void));
#endif #endif
void debug_print_page_list PROTO ((int)); void debug_print_page_list PARAMS ((int));
/* Returns non-zero if P was allocated in GC'able memory. */ /* Returns non-zero if P was allocated in GC'able memory. */
......
...@@ -135,15 +135,15 @@ static struct globals ...@@ -135,15 +135,15 @@ static struct globals
/* Local function prototypes. */ /* Local function prototypes. */
static void tree_insert PROTO ((struct ggc_mem *)); static void tree_insert PARAMS ((struct ggc_mem *));
static int tree_lookup PROTO ((struct ggc_mem *)); static int tree_lookup PARAMS ((struct ggc_mem *));
static void clear_marks PROTO ((struct ggc_mem *)); static void clear_marks PARAMS ((struct ggc_mem *));
static void sweep_objs PROTO ((struct ggc_mem **)); static void sweep_objs PARAMS ((struct ggc_mem **));
static void ggc_pop_context_1 PROTO ((struct ggc_mem *, int)); static void ggc_pop_context_1 PARAMS ((struct ggc_mem *, int));
#ifdef GGC_BALANCE #ifdef GGC_BALANCE
extern void debug_ggc_balance PROTO ((void)); extern void debug_ggc_balance PARAMS ((void));
static void tally_leaves PROTO ((struct ggc_mem *, int, size_t *, size_t *)); static void tally_leaves PARAMS ((struct ggc_mem *, int, size_t *, size_t *));
#endif #endif
/* Insert V into the search tree. */ /* Insert V into the search tree. */
......
...@@ -46,23 +46,23 @@ struct varray_head_tag; ...@@ -46,23 +46,23 @@ struct varray_head_tag;
extern char *empty_string; extern char *empty_string;
/* Manipulate global roots that are needed between calls to gc. */ /* Manipulate global roots that are needed between calls to gc. */
void ggc_add_root PROTO ((void *base, int nelt, int size, void (*)(void *))); void ggc_add_root PARAMS ((void *base, int nelt, int size, void (*)(void *)));
void ggc_add_rtx_root PROTO ((struct rtx_def **, int nelt)); void ggc_add_rtx_root PARAMS ((struct rtx_def **, int nelt));
void ggc_add_tree_root PROTO ((union tree_node **, int nelt)); void ggc_add_tree_root PARAMS ((union tree_node **, int nelt));
void ggc_add_string_root PROTO ((char **, int nelt)); void ggc_add_string_root PARAMS ((char **, int nelt));
void ggc_add_tree_varray_root PROTO ((struct varray_head_tag **, int nelt)); void ggc_add_tree_varray_root PARAMS ((struct varray_head_tag **, int nelt));
void ggc_add_tree_hash_table_root PROTO ((struct hash_table **, int nelt)); void ggc_add_tree_hash_table_root PARAMS ((struct hash_table **, int nelt));
void ggc_del_root PROTO ((void *base)); void ggc_del_root PARAMS ((void *base));
/* Mark nodes from the gc_add_root callback. These functions follow /* Mark nodes from the gc_add_root callback. These functions follow
pointers to mark other objects too. */ pointers to mark other objects too. */
extern void ggc_mark_tree_varray PROTO ((struct varray_head_tag *)); extern void ggc_mark_tree_varray PARAMS ((struct varray_head_tag *));
extern void ggc_mark_tree_hash_table PROTO ((struct hash_table *)); extern void ggc_mark_tree_hash_table PARAMS ((struct hash_table *));
extern void ggc_mark_roots PROTO((void)); extern void ggc_mark_roots PARAMS ((void));
extern void ggc_mark_rtx_children PROTO ((struct rtx_def *)); extern void ggc_mark_rtx_children PARAMS ((struct rtx_def *));
extern void ggc_mark_rtvec_children PROTO ((struct rtvec_def *)); extern void ggc_mark_rtvec_children PARAMS ((struct rtvec_def *));
extern void ggc_mark_tree_children PROTO ((union tree_node *)); extern void ggc_mark_tree_children PARAMS ((union tree_node *));
/* If EXPR is not NULL and previously unmarked, mark it and evaluate /* If EXPR is not NULL and previously unmarked, mark it and evaluate
to true. Otherwise evaluate to false. */ to true. Otherwise evaluate to false. */
...@@ -105,25 +105,25 @@ extern void ggc_mark_tree_children PROTO ((union tree_node *)); ...@@ -105,25 +105,25 @@ extern void ggc_mark_tree_children PROTO ((union tree_node *));
} while (0) } while (0)
/* Mark, but only if it was allocated in collectable memory. */ /* Mark, but only if it was allocated in collectable memory. */
extern void ggc_mark_if_gcable PROTO ((void *)); extern void ggc_mark_if_gcable PARAMS ((void *));
/* A GC implementation must provide these functions. */ /* A GC implementation must provide these functions. */
/* Initialize the garbage collector. */ /* Initialize the garbage collector. */
extern void init_ggc PROTO ((void)); extern void init_ggc PARAMS ((void));
/* Start a new GGC context. Memory allocated in previous contexts /* Start a new GGC context. Memory allocated in previous contexts
will not be collected while the new context is active. */ will not be collected while the new context is active. */
extern void ggc_push_context PROTO ((void)); extern void ggc_push_context PARAMS ((void));
/* Finish a GC context. Any uncollected memory in the new context /* Finish a GC context. Any uncollected memory in the new context
will be merged with the old context. */ will be merged with the old context. */
extern void ggc_pop_context PROTO ((void)); extern void ggc_pop_context PARAMS ((void));
/* Allocation. */ /* Allocation. */
/* The internal primitive. */ /* The internal primitive. */
void *ggc_alloc_obj PROTO ((size_t, int)); void *ggc_alloc_obj PARAMS ((size_t, int));
#define ggc_alloc_rtx(NSLOTS) \ #define ggc_alloc_rtx(NSLOTS) \
((struct rtx_def *) ggc_alloc_obj (sizeof (struct rtx_def) \ ((struct rtx_def *) ggc_alloc_obj (sizeof (struct rtx_def) \
...@@ -138,38 +138,38 @@ void *ggc_alloc_obj PROTO ((size_t, int)); ...@@ -138,38 +138,38 @@ void *ggc_alloc_obj PROTO ((size_t, int));
#define ggc_alloc(SIZE) ggc_alloc_obj((SIZE), 0) #define ggc_alloc(SIZE) ggc_alloc_obj((SIZE), 0)
char *ggc_alloc_string PROTO ((const char *contents, int length)); char *ggc_alloc_string PARAMS ((const char *contents, int length));
/* Invoke the collector. This is really just a hint, but in the case of /* Invoke the collector. This is really just a hint, but in the case of
the simple collector, the only time it will happen. */ the simple collector, the only time it will happen. */
void ggc_collect PROTO ((void)); void ggc_collect PARAMS ((void));
/* Actually set the mark on a particular region of memory, but don't /* Actually set the mark on a particular region of memory, but don't
follow pointers. This function is called by ggc_mark_*. It follow pointers. This function is called by ggc_mark_*. It
returns zero if the object was not previously marked; non-zero if returns zero if the object was not previously marked; non-zero if
the object was already marked, or if, for any other reason, the object was already marked, or if, for any other reason,
pointers in this data structure should not be traversed. */ pointers in this data structure should not be traversed. */
int ggc_set_mark PROTO ((void *)); int ggc_set_mark PARAMS ((void *));
/* Callbacks to the languages. */ /* Callbacks to the languages. */
/* This is the language's opportunity to mark nodes held through /* This is the language's opportunity to mark nodes held through
the lang_specific hooks in the tree. */ the lang_specific hooks in the tree. */
void lang_mark_tree PROTO ((union tree_node *)); void lang_mark_tree PARAMS ((union tree_node *));
/* The FALSE_LABEL_STACK, declared in except.h, has /* The FALSE_LABEL_STACK, declared in except.h, has
language-dependent semantics. Each front-end should define this language-dependent semantics. Each front-end should define this
function appropriately. */ function appropriately. */
void lang_mark_false_label_stack PROTO ((struct label_node *)); void lang_mark_false_label_stack PARAMS ((struct label_node *));
/* Mark functions for various structs scattered about. */ /* Mark functions for various structs scattered about. */
void mark_eh_status PROTO ((struct eh_status *)); void mark_eh_status PARAMS ((struct eh_status *));
void mark_emit_status PROTO ((struct emit_status *)); void mark_emit_status PARAMS ((struct emit_status *));
void mark_expr_status PROTO ((struct expr_status *)); void mark_expr_status PARAMS ((struct expr_status *));
void mark_stmt_status PROTO ((struct stmt_status *)); void mark_stmt_status PARAMS ((struct stmt_status *));
void mark_varasm_status PROTO ((struct varasm_status *)); void mark_varasm_status PARAMS ((struct varasm_status *));
void mark_optab PROTO ((void *)); void mark_optab PARAMS ((void *));
/* Statistics. */ /* Statistics. */
...@@ -198,8 +198,8 @@ typedef struct ggc_statistics ...@@ -198,8 +198,8 @@ typedef struct ggc_statistics
} ggc_statistics; } ggc_statistics;
/* Return the number of bytes allocated at the indicated address. */ /* Return the number of bytes allocated at the indicated address. */
size_t ggc_get_size PROTO ((void *)); size_t ggc_get_size PARAMS ((void *));
/* Used by the various collectors to gather and print statistics that /* Used by the various collectors to gather and print statistics that
do not depend on the collector in use. */ do not depend on the collector in use. */
void ggc_print_statistics PROTO ((FILE *, ggc_statistics *)); void ggc_print_statistics PARAMS ((FILE *, ggc_statistics *));
...@@ -287,25 +287,25 @@ static int n_regs_set; ...@@ -287,25 +287,25 @@ static int n_regs_set;
static HARD_REG_SET eliminable_regset; static HARD_REG_SET eliminable_regset;
static int allocno_compare PROTO((const PTR, const PTR)); static int allocno_compare PARAMS ((const PTR, const PTR));
static void global_conflicts PROTO((void)); static void global_conflicts PARAMS ((void));
static void mirror_conflicts PROTO((void)); static void mirror_conflicts PARAMS ((void));
static void expand_preferences PROTO((void)); static void expand_preferences PARAMS ((void));
static void prune_preferences PROTO((void)); static void prune_preferences PARAMS ((void));
static void find_reg PROTO((int, HARD_REG_SET, int, int, int)); static void find_reg PARAMS ((int, HARD_REG_SET, int, int, int));
static void record_one_conflict PROTO((int)); static void record_one_conflict PARAMS ((int));
static void record_conflicts PROTO((int *, int)); static void record_conflicts PARAMS ((int *, int));
static void mark_reg_store PROTO((rtx, rtx, void *)); static void mark_reg_store PARAMS ((rtx, rtx, void *));
static void mark_reg_clobber PROTO((rtx, rtx, void *)); static void mark_reg_clobber PARAMS ((rtx, rtx, void *));
static void mark_reg_conflicts PROTO((rtx)); static void mark_reg_conflicts PARAMS ((rtx));
static void mark_reg_death PROTO((rtx)); static void mark_reg_death PARAMS ((rtx));
static void mark_reg_live_nc PROTO((int, enum machine_mode)); static void mark_reg_live_nc PARAMS ((int, enum machine_mode));
static void set_preference PROTO((rtx, rtx)); static void set_preference PARAMS ((rtx, rtx));
static void dump_conflicts PROTO((FILE *)); static void dump_conflicts PARAMS ((FILE *));
static void reg_becomes_live PROTO((rtx, rtx, void *)); static void reg_becomes_live PARAMS ((rtx, rtx, void *));
static void reg_dies PROTO((int, enum machine_mode, static void reg_dies PARAMS ((int, enum machine_mode,
struct insn_chain *)); struct insn_chain *));
static void build_insn_chain PROTO((rtx)); static void build_insn_chain PARAMS ((rtx));
/* Perform allocation of pseudo-registers not allocated by local_alloc. /* Perform allocation of pseudo-registers not allocated by local_alloc.
FILE is a file to output debugging information on, FILE is a file to output debugging information on,
......
...@@ -37,12 +37,12 @@ static const char *graph_ext[] = ...@@ -37,12 +37,12 @@ static const char *graph_ext[] =
/* vcg */ ".vcg", /* vcg */ ".vcg",
}; };
static void start_fct PROTO ((FILE *)); static void start_fct PARAMS ((FILE *));
static void start_bb PROTO ((FILE *, int)); static void start_bb PARAMS ((FILE *, int));
static void node_data PROTO ((FILE *, rtx)); static void node_data PARAMS ((FILE *, rtx));
static void draw_edge PROTO ((FILE *, int, int, int, int)); static void draw_edge PARAMS ((FILE *, int, int, int, int));
static void end_fct PROTO ((FILE *)); static void end_fct PARAMS ((FILE *));
static void end_bb PROTO ((FILE *)); static void end_bb PARAMS ((FILE *));
/* Output text for new basic block. */ /* Output text for new basic block. */
static void static void
......
...@@ -85,7 +85,7 @@ typedef HANDLE __gthread_mutex_t; ...@@ -85,7 +85,7 @@ typedef HANDLE __gthread_mutex_t;
#if __MINGW32_MAJOR_VERSION >= 1 || \ #if __MINGW32_MAJOR_VERSION >= 1 || \
(__MINGW32_MAJOR_VERSION == 0 && __MINGW32_MINOR_VERSION > 2) (__MINGW32_MAJOR_VERSION == 0 && __MINGW32_MINOR_VERSION > 2)
#define MINGW32_SUPPORTS_MT_EH 1 #define MINGW32_SUPPORTS_MT_EH 1
extern int __mingwthr_key_dtor PROTO((DWORD, void (*) (void *))); extern int __mingwthr_key_dtor PARAMS ((DWORD, void (*) (void *)));
/* Mingw runtime >= v0.3 provides a magic variable that is set to non-zero /* Mingw runtime >= v0.3 provides a magic variable that is set to non-zero
if -mthreads option was specified, or 0 otherwise. This is to get around if -mthreads option was specified, or 0 otherwise. This is to get around
the lack of weak symbols in PE-COFF. */ the lack of weak symbols in PE-COFF. */
......
...@@ -464,37 +464,37 @@ static int q_size = 0; ...@@ -464,37 +464,37 @@ static int q_size = 0;
#define NEXT_Q_AFTER(X, C) (((X)+C) & (INSN_QUEUE_SIZE-1)) #define NEXT_Q_AFTER(X, C) (((X)+C) & (INSN_QUEUE_SIZE-1))
/* Forward declarations. */ /* Forward declarations. */
static void add_dependence PROTO ((rtx, rtx, enum reg_note)); static void add_dependence PARAMS ((rtx, rtx, enum reg_note));
#ifdef HAVE_cc0 #ifdef HAVE_cc0
static void remove_dependence PROTO ((rtx, rtx)); static void remove_dependence PARAMS ((rtx, rtx));
#endif #endif
static rtx find_insn_list PROTO ((rtx, rtx)); static rtx find_insn_list PARAMS ((rtx, rtx));
static int insn_unit PROTO ((rtx)); static int insn_unit PARAMS ((rtx));
static unsigned int blockage_range PROTO ((int, rtx)); static unsigned int blockage_range PARAMS ((int, rtx));
static void clear_units PROTO ((void)); static void clear_units PARAMS ((void));
static int actual_hazard_this_instance PROTO ((int, int, rtx, int, int)); static int actual_hazard_this_instance PARAMS ((int, int, rtx, int, int));
static void schedule_unit PROTO ((int, rtx, int)); static void schedule_unit PARAMS ((int, rtx, int));
static int actual_hazard PROTO ((int, rtx, int, int)); static int actual_hazard PARAMS ((int, rtx, int, int));
static int potential_hazard PROTO ((int, rtx, int)); static int potential_hazard PARAMS ((int, rtx, int));
static int insn_cost PROTO ((rtx, rtx, rtx)); static int insn_cost PARAMS ((rtx, rtx, rtx));
static int priority PROTO ((rtx)); static int priority PARAMS ((rtx));
static void free_pending_lists PROTO ((void)); static void free_pending_lists PARAMS ((void));
static void add_insn_mem_dependence PROTO ((struct deps *, rtx *, rtx *, rtx, static void add_insn_mem_dependence PARAMS ((struct deps *, rtx *, rtx *, rtx,
rtx)); rtx));
static void flush_pending_lists PROTO ((struct deps *, rtx, int)); static void flush_pending_lists PARAMS ((struct deps *, rtx, int));
static void sched_analyze_1 PROTO ((struct deps *, rtx, rtx)); static void sched_analyze_1 PARAMS ((struct deps *, rtx, rtx));
static void sched_analyze_2 PROTO ((struct deps *, rtx, rtx)); static void sched_analyze_2 PARAMS ((struct deps *, rtx, rtx));
static void sched_analyze_insn PROTO ((struct deps *, rtx, rtx, rtx)); static void sched_analyze_insn PARAMS ((struct deps *, rtx, rtx, rtx));
static void sched_analyze PROTO ((struct deps *, rtx, rtx)); static void sched_analyze PARAMS ((struct deps *, rtx, rtx));
static int rank_for_schedule PROTO ((const PTR, const PTR)); static int rank_for_schedule PARAMS ((const PTR, const PTR));
static void swap_sort PROTO ((rtx *, int)); static void swap_sort PARAMS ((rtx *, int));
static void queue_insn PROTO ((rtx, int)); static void queue_insn PARAMS ((rtx, int));
static int schedule_insn PROTO ((rtx, rtx *, int, int)); static int schedule_insn PARAMS ((rtx, rtx *, int, int));
static void find_insn_reg_weight PROTO ((int)); static void find_insn_reg_weight PARAMS ((int));
static int schedule_block PROTO ((int, int)); static int schedule_block PARAMS ((int, int));
static char *safe_concat PROTO ((char *, char *, const char *)); static char *safe_concat PARAMS ((char *, char *, const char *));
static int insn_issue_delay PROTO ((rtx)); static int insn_issue_delay PARAMS ((rtx));
static void adjust_priority PROTO ((rtx)); static void adjust_priority PARAMS ((rtx));
/* Control flow graph edges are kept in circular lists. */ /* Control flow graph edges are kept in circular lists. */
typedef struct typedef struct
...@@ -525,9 +525,9 @@ static int *out_edges; ...@@ -525,9 +525,9 @@ static int *out_edges;
static int is_cfg_nonregular PROTO ((void)); static int is_cfg_nonregular PARAMS ((void));
static int build_control_flow PROTO ((struct edge_list *)); static int build_control_flow PARAMS ((struct edge_list *));
static void new_edge PROTO ((int, int)); static void new_edge PARAMS ((int, int));
/* A region is the main entity for interblock scheduling: insns /* A region is the main entity for interblock scheduling: insns
...@@ -563,12 +563,12 @@ static int *containing_rgn; ...@@ -563,12 +563,12 @@ static int *containing_rgn;
#define BLOCK_TO_BB(block) (block_to_bb[block]) #define BLOCK_TO_BB(block) (block_to_bb[block])
#define CONTAINING_RGN(block) (containing_rgn[block]) #define CONTAINING_RGN(block) (containing_rgn[block])
void debug_regions PROTO ((void)); void debug_regions PARAMS ((void));
static void find_single_block_region PROTO ((void)); static void find_single_block_region PARAMS ((void));
static void find_rgns PROTO ((struct edge_list *, sbitmap *)); static void find_rgns PARAMS ((struct edge_list *, sbitmap *));
static int too_large PROTO ((int, int *, int *)); static int too_large PARAMS ((int, int *, int *));
extern void debug_live PROTO ((int, int)); extern void debug_live PARAMS ((int, int));
/* Blocks of the current region being scheduled. */ /* Blocks of the current region being scheduled. */
static int current_nr_blocks; static int current_nr_blocks;
...@@ -593,8 +593,8 @@ static int bitlst_table_last; ...@@ -593,8 +593,8 @@ static int bitlst_table_last;
static int bitlst_table_size; static int bitlst_table_size;
static int *bitlst_table; static int *bitlst_table;
static char bitset_member PROTO ((bitset, int, int)); static char bitset_member PARAMS ((bitset, int, int));
static void extract_bitlst PROTO ((bitset, int, int, bitlst *)); static void extract_bitlst PARAMS ((bitset, int, int, bitlst *));
/* Target info declarations. /* Target info declarations.
...@@ -635,10 +635,10 @@ static int target_bb; ...@@ -635,10 +635,10 @@ static int target_bb;
typedef bitlst edgelst; typedef bitlst edgelst;
/* Target info functions. */ /* Target info functions. */
static void split_edges PROTO ((int, int, edgelst *)); static void split_edges PARAMS ((int, int, edgelst *));
static void compute_trg_info PROTO ((int)); static void compute_trg_info PARAMS ((int));
void debug_candidate PROTO ((int)); void debug_candidate PARAMS ((int));
void debug_candidates PROTO ((int)); void debug_candidates PARAMS ((int));
/* Bit-set of bbs, where bit 'i' stands for bb 'i'. */ /* Bit-set of bbs, where bit 'i' stands for bb 'i'. */
...@@ -698,7 +698,7 @@ static edgeset *pot_split; ...@@ -698,7 +698,7 @@ static edgeset *pot_split;
/* For every bb, a set of its ancestor edges. */ /* For every bb, a set of its ancestor edges. */
static edgeset *ancestor_edges; static edgeset *ancestor_edges;
static void compute_dom_prob_ps PROTO ((int)); static void compute_dom_prob_ps PARAMS ((int));
#define ABS_VALUE(x) (((x)<0)?(-(x)):(x)) #define ABS_VALUE(x) (((x)<0)?(-(x)):(x))
#define INSN_PROBABILITY(INSN) (SRC_PROB (BLOCK_TO_BB (BLOCK_NUM (INSN)))) #define INSN_PROBABILITY(INSN) (SRC_PROB (BLOCK_TO_BB (BLOCK_NUM (INSN))))
...@@ -711,24 +711,24 @@ static void compute_dom_prob_ps PROTO ((int)); ...@@ -711,24 +711,24 @@ static void compute_dom_prob_ps PROTO ((int));
#define MIN_PROB_DIFF 10 #define MIN_PROB_DIFF 10
/* Speculative scheduling functions. */ /* Speculative scheduling functions. */
static int check_live_1 PROTO ((int, rtx)); static int check_live_1 PARAMS ((int, rtx));
static void update_live_1 PROTO ((int, rtx)); static void update_live_1 PARAMS ((int, rtx));
static int check_live PROTO ((rtx, int)); static int check_live PARAMS ((rtx, int));
static void update_live PROTO ((rtx, int)); static void update_live PARAMS ((rtx, int));
static void set_spec_fed PROTO ((rtx)); static void set_spec_fed PARAMS ((rtx));
static int is_pfree PROTO ((rtx, int, int)); static int is_pfree PARAMS ((rtx, int, int));
static int find_conditional_protection PROTO ((rtx, int)); static int find_conditional_protection PARAMS ((rtx, int));
static int is_conditionally_protected PROTO ((rtx, int, int)); static int is_conditionally_protected PARAMS ((rtx, int, int));
static int may_trap_exp PROTO ((rtx, int)); static int may_trap_exp PARAMS ((rtx, int));
static int haifa_classify_insn PROTO ((rtx)); static int haifa_classify_insn PARAMS ((rtx));
static int is_prisky PROTO ((rtx, int, int)); static int is_prisky PARAMS ((rtx, int, int));
static int is_exception_free PROTO ((rtx, int, int)); static int is_exception_free PARAMS ((rtx, int, int));
static char find_insn_mem_list PROTO ((rtx, rtx, rtx, rtx)); static char find_insn_mem_list PARAMS ((rtx, rtx, rtx, rtx));
static void compute_block_forward_dependences PROTO ((int)); static void compute_block_forward_dependences PARAMS ((int));
static void add_branch_dependences PROTO ((rtx, rtx)); static void add_branch_dependences PARAMS ((rtx, rtx));
static void compute_block_backward_dependences PROTO ((int)); static void compute_block_backward_dependences PARAMS ((int));
void debug_dependencies PROTO ((void)); void debug_dependencies PARAMS ((void));
/* Notes handling mechanism: /* Notes handling mechanism:
========================= =========================
...@@ -753,41 +753,41 @@ void debug_dependencies PROTO ((void)); ...@@ -753,41 +753,41 @@ void debug_dependencies PROTO ((void));
unlink_other_notes ()). After scheduling the block, these notes are unlink_other_notes ()). After scheduling the block, these notes are
inserted at the beginning of the block (in schedule_block()). */ inserted at the beginning of the block (in schedule_block()). */
static rtx unlink_other_notes PROTO ((rtx, rtx)); static rtx unlink_other_notes PARAMS ((rtx, rtx));
static rtx unlink_line_notes PROTO ((rtx, rtx)); static rtx unlink_line_notes PARAMS ((rtx, rtx));
static void rm_line_notes PROTO ((int)); static void rm_line_notes PARAMS ((int));
static void save_line_notes PROTO ((int)); static void save_line_notes PARAMS ((int));
static void restore_line_notes PROTO ((int)); static void restore_line_notes PARAMS ((int));
static void rm_redundant_line_notes PROTO ((void)); static void rm_redundant_line_notes PARAMS ((void));
static void rm_other_notes PROTO ((rtx, rtx)); static void rm_other_notes PARAMS ((rtx, rtx));
static rtx reemit_notes PROTO ((rtx, rtx)); static rtx reemit_notes PARAMS ((rtx, rtx));
static void get_block_head_tail PROTO ((int, rtx *, rtx *)); static void get_block_head_tail PARAMS ((int, rtx *, rtx *));
static void get_bb_head_tail PROTO ((int, rtx *, rtx *)); static void get_bb_head_tail PARAMS ((int, rtx *, rtx *));
static int queue_to_ready PROTO ((rtx [], int)); static int queue_to_ready PARAMS ((rtx [], int));
static void debug_ready_list PROTO ((rtx[], int)); static void debug_ready_list PARAMS ((rtx[], int));
static void init_target_units PROTO ((void)); static void init_target_units PARAMS ((void));
static void insn_print_units PROTO ((rtx)); static void insn_print_units PARAMS ((rtx));
static int get_visual_tbl_length PROTO ((void)); static int get_visual_tbl_length PARAMS ((void));
static void init_block_visualization PROTO ((void)); static void init_block_visualization PARAMS ((void));
static void print_block_visualization PROTO ((int, const char *)); static void print_block_visualization PARAMS ((int, const char *));
static void visualize_scheduled_insns PROTO ((int, int)); static void visualize_scheduled_insns PARAMS ((int, int));
static void visualize_no_unit PROTO ((rtx)); static void visualize_no_unit PARAMS ((rtx));
static void visualize_stall_cycles PROTO ((int, int)); static void visualize_stall_cycles PARAMS ((int, int));
static void print_exp PROTO ((char *, rtx, int)); static void print_exp PARAMS ((char *, rtx, int));
static void print_value PROTO ((char *, rtx, int)); static void print_value PARAMS ((char *, rtx, int));
static void print_pattern PROTO ((char *, rtx, int)); static void print_pattern PARAMS ((char *, rtx, int));
static void print_insn PROTO ((char *, rtx, int)); static void print_insn PARAMS ((char *, rtx, int));
void debug_reg_vector PROTO ((regset)); void debug_reg_vector PARAMS ((regset));
static rtx move_insn1 PROTO ((rtx, rtx)); static rtx move_insn1 PARAMS ((rtx, rtx));
static rtx move_insn PROTO ((rtx, rtx)); static rtx move_insn PARAMS ((rtx, rtx));
static rtx group_leader PROTO ((rtx)); static rtx group_leader PARAMS ((rtx));
static int set_priorities PROTO ((int)); static int set_priorities PARAMS ((int));
static void init_deps PROTO ((struct deps *)); static void init_deps PARAMS ((struct deps *));
static void schedule_region PROTO ((int)); static void schedule_region PARAMS ((int));
#endif /* INSN_SCHEDULING */ #endif /* INSN_SCHEDULING */
......
...@@ -39,12 +39,12 @@ int (*ptr_half_pic_address_p) (); /* ptr to half_pic_address_p () */ ...@@ -39,12 +39,12 @@ int (*ptr_half_pic_address_p) (); /* ptr to half_pic_address_p () */
extern int half_pic_number_ptrs; /* # distinct pointers found */ extern int half_pic_number_ptrs; /* # distinct pointers found */
extern int half_pic_number_refs; /* # half-pic references */ extern int half_pic_number_refs; /* # half-pic references */
extern void half_pic_encode PROTO((union tree_node *)); /* encode whether half-pic */ extern void half_pic_encode PARAMS ((union tree_node *)); /* encode whether half-pic */
extern void half_pic_declare PROTO((char *)); /* declare object local */ extern void half_pic_declare PARAMS ((char *)); /* declare object local */
extern void half_pic_external PROTO((char *)); /* declare object external */ extern void half_pic_external PARAMS ((char *)); /* declare object external */
extern void half_pic_init PROTO((void)); /* half_pic initialization */ extern void half_pic_init PARAMS ((void)); /* half_pic initialization */
extern int half_pic_address_p PROTO((struct rtx_def *)); /* true if an address is half-pic */ extern int half_pic_address_p PARAMS ((struct rtx_def *)); /* true if an address is half-pic */
extern struct rtx_def *half_pic_ptr PROTO((struct rtx_def *)); /* return RTX for half-pic pointer */ extern struct rtx_def *half_pic_ptr PARAMS ((struct rtx_def *)); /* return RTX for half-pic pointer */
/* Can't use prototype since FILE isn't defined yet. */ /* Can't use prototype since FILE isn't defined yet. */
extern void half_pic_finish (/* FILE * */); /* half_pic termination */ extern void half_pic_finish (/* FILE * */); /* half_pic termination */
......
...@@ -62,24 +62,24 @@ extern struct obstack *function_maybepermanent_obstack; ...@@ -62,24 +62,24 @@ extern struct obstack *function_maybepermanent_obstack;
: (8 * (8 + list_length (DECL_ARGUMENTS (DECL))))) : (8 * (8 + list_length (DECL_ARGUMENTS (DECL)))))
#endif #endif
static rtvec initialize_for_inline PROTO((tree)); static rtvec initialize_for_inline PARAMS ((tree));
static void note_modified_parmregs PROTO((rtx, rtx, void *)); static void note_modified_parmregs PARAMS ((rtx, rtx, void *));
static void integrate_parm_decls PROTO((tree, struct inline_remap *, static void integrate_parm_decls PARAMS ((tree, struct inline_remap *,
rtvec)); rtvec));
static tree integrate_decl_tree PROTO((tree, static tree integrate_decl_tree PARAMS ((tree,
struct inline_remap *)); struct inline_remap *));
static void subst_constants PROTO((rtx *, rtx, static void subst_constants PARAMS ((rtx *, rtx,
struct inline_remap *, int)); struct inline_remap *, int));
static void set_block_origin_self PROTO((tree)); static void set_block_origin_self PARAMS ((tree));
static void set_decl_origin_self PROTO((tree)); static void set_decl_origin_self PARAMS ((tree));
static void set_block_abstract_flags PROTO((tree, int)); static void set_block_abstract_flags PARAMS ((tree, int));
static void process_reg_param PROTO((struct inline_remap *, rtx, static void process_reg_param PARAMS ((struct inline_remap *, rtx,
rtx)); rtx));
void set_decl_abstract_flags PROTO((tree, int)); void set_decl_abstract_flags PARAMS ((tree, int));
static rtx expand_inline_function_eh_labelmap PROTO((rtx)); static rtx expand_inline_function_eh_labelmap PARAMS ((rtx));
static void mark_stores PROTO((rtx, rtx, void *)); static void mark_stores PARAMS ((rtx, rtx, void *));
static int compare_blocks PROTO((const PTR, const PTR)); static int compare_blocks PARAMS ((const PTR, const PTR));
static int find_block PROTO((const PTR, const PTR)); static int find_block PARAMS ((const PTR, const PTR));
/* The maximum number of instructions accepted for inlining a /* The maximum number of instructions accepted for inlining a
function. Increasing values mean more agressive inlining. function. Increasing values mean more agressive inlining.
......
...@@ -116,18 +116,18 @@ struct inline_remap ...@@ -116,18 +116,18 @@ struct inline_remap
/* Return a copy of an rtx (as needed), substituting pseudo-register, /* Return a copy of an rtx (as needed), substituting pseudo-register,
labels, and frame-pointer offsets as necessary. */ labels, and frame-pointer offsets as necessary. */
extern rtx copy_rtx_and_substitute PROTO((rtx, struct inline_remap *, int)); extern rtx copy_rtx_and_substitute PARAMS ((rtx, struct inline_remap *, int));
/* Copy a declaration when one function is substituted inline into /* Copy a declaration when one function is substituted inline into
another. */ another. */
extern union tree_node *copy_decl_for_inlining PROTO((union tree_node *, extern union tree_node *copy_decl_for_inlining PARAMS ((union tree_node *,
union tree_node *, union tree_node *,
union tree_node *)); union tree_node *));
extern void try_constants PROTO((rtx, struct inline_remap *)); extern void try_constants PARAMS ((rtx, struct inline_remap *));
/* Return the label indicated. */ /* Return the label indicated. */
extern rtx get_label_from_map PROTO((struct inline_remap *, int)); extern rtx get_label_from_map PARAMS ((struct inline_remap *, int));
/* Set the label indicated. */ /* Set the label indicated. */
#define set_label_in_map(MAP, I, X) ((MAP)->label_map[I] = (X)) #define set_label_in_map(MAP, I, X) ((MAP)->label_map[I] = (X))
......
...@@ -107,29 +107,29 @@ int can_reach_end; ...@@ -107,29 +107,29 @@ int can_reach_end;
static int cross_jump_death_matters = 0; static int cross_jump_death_matters = 0;
static int init_label_info PROTO((rtx)); static int init_label_info PARAMS ((rtx));
static void delete_barrier_successors PROTO((rtx)); static void delete_barrier_successors PARAMS ((rtx));
static void mark_all_labels PROTO((rtx, int)); static void mark_all_labels PARAMS ((rtx, int));
static rtx delete_unreferenced_labels PROTO((rtx)); static rtx delete_unreferenced_labels PARAMS ((rtx));
static void delete_noop_moves PROTO((rtx)); static void delete_noop_moves PARAMS ((rtx));
static int calculate_can_reach_end PROTO((rtx, int, int)); static int calculate_can_reach_end PARAMS ((rtx, int, int));
static int duplicate_loop_exit_test PROTO((rtx)); static int duplicate_loop_exit_test PARAMS ((rtx));
static void find_cross_jump PROTO((rtx, rtx, int, rtx *, rtx *)); static void find_cross_jump PARAMS ((rtx, rtx, int, rtx *, rtx *));
static void do_cross_jump PROTO((rtx, rtx, rtx)); static void do_cross_jump PARAMS ((rtx, rtx, rtx));
static int jump_back_p PROTO((rtx, rtx)); static int jump_back_p PARAMS ((rtx, rtx));
static int tension_vector_labels PROTO((rtx, int)); static int tension_vector_labels PARAMS ((rtx, int));
static void mark_jump_label PROTO((rtx, rtx, int)); static void mark_jump_label PARAMS ((rtx, rtx, int));
static void delete_computation PROTO((rtx)); static void delete_computation PARAMS ((rtx));
static void delete_from_jump_chain PROTO((rtx)); static void delete_from_jump_chain PARAMS ((rtx));
static int delete_labelref_insn PROTO((rtx, rtx, int)); static int delete_labelref_insn PARAMS ((rtx, rtx, int));
static void mark_modified_reg PROTO((rtx, rtx, void *)); static void mark_modified_reg PARAMS ((rtx, rtx, void *));
static void redirect_tablejump PROTO((rtx, rtx)); static void redirect_tablejump PARAMS ((rtx, rtx));
static void jump_optimize_1 PROTO ((rtx, int, int, int, int)); static void jump_optimize_1 PARAMS ((rtx, int, int, int, int));
#if ! defined(HAVE_cc0) && ! defined(HAVE_conditional_arithmetic) #if ! defined(HAVE_cc0) && ! defined(HAVE_conditional_arithmetic)
static rtx find_insert_position PROTO((rtx, rtx)); static rtx find_insert_position PARAMS ((rtx, rtx));
#endif #endif
static int returnjump_p_1 PROTO((rtx *, void *)); static int returnjump_p_1 PARAMS ((rtx *, void *));
static void delete_prior_computation PROTO((rtx, rtx)); static void delete_prior_computation PARAMS ((rtx, rtx));
/* Main external entry point into the jump optimizer. See comments before /* Main external entry point into the jump optimizer. See comments before
jump_optimize_1 for descriptions of the arguments. */ jump_optimize_1 for descriptions of the arguments. */
......
...@@ -63,24 +63,24 @@ Boston, MA 02111-1307, USA. */ ...@@ -63,24 +63,24 @@ Boston, MA 02111-1307, USA. */
#include "basic-block.h" #include "basic-block.h"
/* Edge based LCM routines. */ /* Edge based LCM routines. */
static void compute_antinout_edge PROTO ((sbitmap *, sbitmap *, static void compute_antinout_edge PARAMS ((sbitmap *, sbitmap *,
sbitmap *, sbitmap *)); sbitmap *, sbitmap *));
static void compute_earliest PROTO((struct edge_list *, int, sbitmap *, static void compute_earliest PARAMS ((struct edge_list *, int, sbitmap *,
sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *,
sbitmap *)); sbitmap *));
static void compute_laterin PROTO((struct edge_list *, sbitmap *, static void compute_laterin PARAMS ((struct edge_list *, sbitmap *,
sbitmap *, sbitmap *, sbitmap *)); sbitmap *, sbitmap *, sbitmap *));
static void compute_insert_delete PROTO ((struct edge_list *edge_list, static void compute_insert_delete PARAMS ((struct edge_list *edge_list,
sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *,
sbitmap *, sbitmap *)); sbitmap *, sbitmap *));
/* Edge based LCM routines on a reverse flowgraph. */ /* Edge based LCM routines on a reverse flowgraph. */
static void compute_farthest PROTO ((struct edge_list *, int, sbitmap *, static void compute_farthest PARAMS ((struct edge_list *, int, sbitmap *,
sbitmap *, sbitmap*, sbitmap *, sbitmap *, sbitmap*, sbitmap *,
sbitmap *)); sbitmap *));
static void compute_nearerout PROTO((struct edge_list *, sbitmap *, static void compute_nearerout PARAMS ((struct edge_list *, sbitmap *,
sbitmap *, sbitmap *, sbitmap *)); sbitmap *, sbitmap *, sbitmap *));
static void compute_rev_insert_delete PROTO ((struct edge_list *edge_list, static void compute_rev_insert_delete PARAMS ((struct edge_list *edge_list,
sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap *,
sbitmap *, sbitmap *)); sbitmap *, sbitmap *));
......
...@@ -250,31 +250,31 @@ static rtx *reg_equiv_init_insns; ...@@ -250,31 +250,31 @@ static rtx *reg_equiv_init_insns;
/* Nonzero if we recorded an equivalence for a LABEL_REF. */ /* Nonzero if we recorded an equivalence for a LABEL_REF. */
static int recorded_label_ref; static int recorded_label_ref;
static void alloc_qty PROTO((int, enum machine_mode, int, int)); static void alloc_qty PARAMS ((int, enum machine_mode, int, int));
static void validate_equiv_mem_from_store PROTO((rtx, rtx, void *)); static void validate_equiv_mem_from_store PARAMS ((rtx, rtx, void *));
static int validate_equiv_mem PROTO((rtx, rtx, rtx)); static int validate_equiv_mem PARAMS ((rtx, rtx, rtx));
static int contains_replace_regs PROTO((rtx, char *)); static int contains_replace_regs PARAMS ((rtx, char *));
static int memref_referenced_p PROTO((rtx, rtx)); static int memref_referenced_p PARAMS ((rtx, rtx));
static int memref_used_between_p PROTO((rtx, rtx, rtx)); static int memref_used_between_p PARAMS ((rtx, rtx, rtx));
static void update_equiv_regs PROTO((void)); static void update_equiv_regs PARAMS ((void));
static void no_equiv PROTO((rtx, rtx, void *)); static void no_equiv PARAMS ((rtx, rtx, void *));
static void block_alloc PROTO((int)); static void block_alloc PARAMS ((int));
static int qty_sugg_compare PROTO((int, int)); static int qty_sugg_compare PARAMS ((int, int));
static int qty_sugg_compare_1 PROTO((const PTR, const PTR)); static int qty_sugg_compare_1 PARAMS ((const PTR, const PTR));
static int qty_compare PROTO((int, int)); static int qty_compare PARAMS ((int, int));
static int qty_compare_1 PROTO((const PTR, const PTR)); static int qty_compare_1 PARAMS ((const PTR, const PTR));
static int combine_regs PROTO((rtx, rtx, int, int, rtx, int)); static int combine_regs PARAMS ((rtx, rtx, int, int, rtx, int));
static int reg_meets_class_p PROTO((int, enum reg_class)); static int reg_meets_class_p PARAMS ((int, enum reg_class));
static void update_qty_class PROTO((int, int)); static void update_qty_class PARAMS ((int, int));
static void reg_is_set PROTO((rtx, rtx, void *)); static void reg_is_set PARAMS ((rtx, rtx, void *));
static void reg_is_born PROTO((rtx, int)); static void reg_is_born PARAMS ((rtx, int));
static void wipe_dead_reg PROTO((rtx, int)); static void wipe_dead_reg PARAMS ((rtx, int));
static int find_free_reg PROTO((enum reg_class, enum machine_mode, static int find_free_reg PARAMS ((enum reg_class, enum machine_mode,
int, int, int, int, int)); int, int, int, int, int));
static void mark_life PROTO((int, enum machine_mode, int)); static void mark_life PARAMS ((int, enum machine_mode, int));
static void post_mark_life PROTO((int, enum machine_mode, int, int, int)); static void post_mark_life PARAMS ((int, enum machine_mode, int, int, int));
static int no_conflict_p PROTO((rtx, rtx, rtx)); static int no_conflict_p PARAMS ((rtx, rtx, rtx));
static int requires_inout PROTO((const char *)); static int requires_inout PARAMS ((const char *));
/* Allocate a new quantity (new within current basic block) /* Allocate a new quantity (new within current basic block)
for register number REGNO which is born at index BIRTH for register number REGNO which is born at index BIRTH
......
...@@ -234,70 +234,70 @@ FILE *loop_dump_stream; ...@@ -234,70 +234,70 @@ FILE *loop_dump_stream;
/* Forward declarations. */ /* Forward declarations. */
static void verify_dominator PROTO((struct loop *)); static void verify_dominator PARAMS ((struct loop *));
static void find_and_verify_loops PROTO((rtx, struct loops *)); static void find_and_verify_loops PARAMS ((rtx, struct loops *));
static void mark_loop_jump PROTO((rtx, struct loop *)); static void mark_loop_jump PARAMS ((rtx, struct loop *));
static void prescan_loop PROTO((struct loop *)); static void prescan_loop PARAMS ((struct loop *));
static int reg_in_basic_block_p PROTO((rtx, rtx)); static int reg_in_basic_block_p PARAMS ((rtx, rtx));
static int consec_sets_invariant_p PROTO((rtx, int, rtx)); static int consec_sets_invariant_p PARAMS ((rtx, int, rtx));
static int labels_in_range_p PROTO((rtx, int)); static int labels_in_range_p PARAMS ((rtx, int));
static void count_one_set PROTO((rtx, rtx, varray_type, rtx *)); static void count_one_set PARAMS ((rtx, rtx, varray_type, rtx *));
static void count_loop_regs_set PROTO((rtx, rtx, varray_type, varray_type, static void count_loop_regs_set PARAMS ((rtx, rtx, varray_type, varray_type,
int *, int)); int *, int));
static void note_addr_stored PROTO((rtx, rtx, void *)); static void note_addr_stored PARAMS ((rtx, rtx, void *));
static void note_set_pseudo_multiple_uses PROTO((rtx, rtx, void *)); static void note_set_pseudo_multiple_uses PARAMS ((rtx, rtx, void *));
static int loop_reg_used_before_p PROTO((const struct loop *, rtx, rtx)); static int loop_reg_used_before_p PARAMS ((const struct loop *, rtx, rtx));
static void scan_loop PROTO((struct loop*, int, int)); static void scan_loop PARAMS ((struct loop*, int, int));
#if 0 #if 0
static void replace_call_address PROTO((rtx, rtx, rtx)); static void replace_call_address PARAMS ((rtx, rtx, rtx));
#endif #endif
static rtx skip_consec_insns PROTO((rtx, int)); static rtx skip_consec_insns PARAMS ((rtx, int));
static int libcall_benefit PROTO((rtx)); static int libcall_benefit PARAMS ((rtx));
static void ignore_some_movables PROTO((struct movable *)); static void ignore_some_movables PARAMS ((struct movable *));
static void force_movables PROTO((struct movable *)); static void force_movables PARAMS ((struct movable *));
static void combine_movables PROTO((struct movable *, int)); static void combine_movables PARAMS ((struct movable *, int));
static int regs_match_p PROTO((rtx, rtx, struct movable *)); static int regs_match_p PARAMS ((rtx, rtx, struct movable *));
static int rtx_equal_for_loop_p PROTO((rtx, rtx, struct movable *)); static int rtx_equal_for_loop_p PARAMS ((rtx, rtx, struct movable *));
static void add_label_notes PROTO((rtx, rtx)); static void add_label_notes PARAMS ((rtx, rtx));
static void move_movables PROTO((struct movable *, int, int, rtx, rtx, int)); static void move_movables PARAMS ((struct movable *, int, int, rtx, rtx, int));
static int count_nonfixed_reads PROTO((rtx)); static int count_nonfixed_reads PARAMS ((rtx));
static void strength_reduce PROTO((struct loop *, int, int, int)); static void strength_reduce PARAMS ((struct loop *, int, int, int));
static void find_single_use_in_loop PROTO((rtx, rtx, varray_type)); static void find_single_use_in_loop PARAMS ((rtx, rtx, varray_type));
static int valid_initial_value_p PROTO((rtx, rtx, int, rtx)); static int valid_initial_value_p PARAMS ((rtx, rtx, int, rtx));
static void find_mem_givs PROTO((rtx, rtx, int, int, rtx, rtx)); static void find_mem_givs PARAMS ((rtx, rtx, int, int, rtx, rtx));
static void record_biv PROTO((struct induction *, rtx, rtx, rtx, rtx, rtx *, int, int, int)); static void record_biv PARAMS ((struct induction *, rtx, rtx, rtx, rtx, rtx *, int, int, int));
static void check_final_value PROTO((struct induction *, rtx, rtx, static void check_final_value PARAMS ((struct induction *, rtx, rtx,
unsigned HOST_WIDE_INT)); unsigned HOST_WIDE_INT));
static void record_giv PROTO((struct induction *, rtx, rtx, rtx, rtx, rtx, int, enum g_types, int, int, rtx *, rtx, rtx)); static void record_giv PARAMS ((struct induction *, rtx, rtx, rtx, rtx, rtx, int, enum g_types, int, int, rtx *, rtx, rtx));
static void update_giv_derive PROTO((rtx)); static void update_giv_derive PARAMS ((rtx));
static int basic_induction_var PROTO((rtx, enum machine_mode, rtx, rtx, int, rtx *, rtx *, rtx **, int *)); static int basic_induction_var PARAMS ((rtx, enum machine_mode, rtx, rtx, int, rtx *, rtx *, rtx **, int *));
static rtx simplify_giv_expr PROTO((rtx, int *)); static rtx simplify_giv_expr PARAMS ((rtx, int *));
static int general_induction_var PROTO((rtx, rtx *, rtx *, rtx *, int, int *)); static int general_induction_var PARAMS ((rtx, rtx *, rtx *, rtx *, int, int *));
static int consec_sets_giv PROTO((int, rtx, rtx, rtx, rtx *, rtx *, rtx *)); static int consec_sets_giv PARAMS ((int, rtx, rtx, rtx, rtx *, rtx *, rtx *));
static int check_dbra_loop PROTO((struct loop *, int)); static int check_dbra_loop PARAMS ((struct loop *, int));
static rtx express_from_1 PROTO((rtx, rtx, rtx)); static rtx express_from_1 PARAMS ((rtx, rtx, rtx));
static rtx combine_givs_p PROTO((struct induction *, struct induction *)); static rtx combine_givs_p PARAMS ((struct induction *, struct induction *));
static void combine_givs PROTO((struct iv_class *)); static void combine_givs PARAMS ((struct iv_class *));
struct recombine_givs_stats; struct recombine_givs_stats;
static int find_life_end PROTO((rtx, struct recombine_givs_stats *, rtx, rtx)); static int find_life_end PARAMS ((rtx, struct recombine_givs_stats *, rtx, rtx));
static void recombine_givs PROTO((struct iv_class *, rtx, rtx, int)); static void recombine_givs PARAMS ((struct iv_class *, rtx, rtx, int));
static int product_cheap_p PROTO((rtx, rtx)); static int product_cheap_p PARAMS ((rtx, rtx));
static int maybe_eliminate_biv PROTO((struct iv_class *, rtx, rtx, int, int, int)); static int maybe_eliminate_biv PARAMS ((struct iv_class *, rtx, rtx, int, int, int));
static int maybe_eliminate_biv_1 PROTO((rtx, rtx, struct iv_class *, int, rtx)); static int maybe_eliminate_biv_1 PARAMS ((rtx, rtx, struct iv_class *, int, rtx));
static int last_use_this_basic_block PROTO((rtx, rtx)); static int last_use_this_basic_block PARAMS ((rtx, rtx));
static void record_initial PROTO((rtx, rtx, void *)); static void record_initial PARAMS ((rtx, rtx, void *));
static void update_reg_last_use PROTO((rtx, rtx)); static void update_reg_last_use PARAMS ((rtx, rtx));
static rtx next_insn_in_loop PROTO((const struct loop *, rtx)); static rtx next_insn_in_loop PARAMS ((const struct loop *, rtx));
static void load_mems_and_recount_loop_regs_set PROTO((const struct loop*, static void load_mems_and_recount_loop_regs_set PARAMS ((const struct loop*,
int *)); int *));
static void load_mems PROTO((const struct loop *)); static void load_mems PARAMS ((const struct loop *));
static int insert_loop_mem PROTO((rtx *, void *)); static int insert_loop_mem PARAMS ((rtx *, void *));
static int replace_loop_mem PROTO((rtx *, void *)); static int replace_loop_mem PARAMS ((rtx *, void *));
static int replace_loop_reg PROTO((rtx *, void *)); static int replace_loop_reg PARAMS ((rtx *, void *));
static void note_reg_stored PROTO((rtx, rtx, void *)); static void note_reg_stored PARAMS ((rtx, rtx, void *));
static void try_copy_prop PROTO((const struct loop *, rtx, int)); static void try_copy_prop PARAMS ((const struct loop *, rtx, int));
static int replace_label PROTO((rtx *, void *)); static int replace_label PARAMS ((rtx *, void *));
typedef struct rtx_and_int { typedef struct rtx_and_int {
rtx r; rtx r;
...@@ -317,19 +317,19 @@ typedef struct rtx_pair { ...@@ -317,19 +317,19 @@ typedef struct rtx_pair {
#ifdef HAVE_decrement_and_branch_on_count #ifdef HAVE_decrement_and_branch_on_count
/* Test whether BCT applicable and safe. */ /* Test whether BCT applicable and safe. */
static void insert_bct PROTO((struct loop *)); static void insert_bct PARAMS ((struct loop *));
/* Auxiliary function that inserts the BCT pattern into the loop. */ /* Auxiliary function that inserts the BCT pattern into the loop. */
static void instrument_loop_bct PROTO((rtx, rtx, rtx)); static void instrument_loop_bct PARAMS ((rtx, rtx, rtx));
#endif /* HAVE_decrement_and_branch_on_count */ #endif /* HAVE_decrement_and_branch_on_count */
/* Indirect_jump_in_function is computed once per function. */ /* Indirect_jump_in_function is computed once per function. */
int indirect_jump_in_function = 0; int indirect_jump_in_function = 0;
static int indirect_jump_in_function_p PROTO((rtx)); static int indirect_jump_in_function_p PARAMS ((rtx));
static int compute_luids PROTO((rtx, rtx, int)); static int compute_luids PARAMS ((rtx, rtx, int));
static int biv_elimination_giv_has_0_offset PROTO((struct induction *, static int biv_elimination_giv_has_0_offset PARAMS ((struct induction *,
struct induction *, rtx)); struct induction *, rtx));
/* Relative gain of eliminating various kinds of operations. */ /* Relative gain of eliminating various kinds of operations. */
......
...@@ -227,26 +227,26 @@ extern int first_increment_giv, last_increment_giv; ...@@ -227,26 +227,26 @@ extern int first_increment_giv, last_increment_giv;
/* Forward declarations for non-static functions declared in loop.c and /* Forward declarations for non-static functions declared in loop.c and
unroll.c. */ unroll.c. */
int invariant_p PROTO((rtx)); int invariant_p PARAMS ((rtx));
rtx get_condition_for_loop PROTO((rtx)); rtx get_condition_for_loop PARAMS ((rtx));
void emit_iv_add_mult PROTO((rtx, rtx, rtx, rtx, rtx)); void emit_iv_add_mult PARAMS ((rtx, rtx, rtx, rtx, rtx));
rtx express_from PROTO((struct induction *, struct induction *)); rtx express_from PARAMS ((struct induction *, struct induction *));
void unroll_loop PROTO((struct loop *, int, rtx, int)); void unroll_loop PARAMS ((struct loop *, int, rtx, int));
rtx biv_total_increment PROTO((struct iv_class *, rtx, rtx)); rtx biv_total_increment PARAMS ((struct iv_class *, rtx, rtx));
unsigned HOST_WIDE_INT loop_iterations PROTO((struct loop *)); unsigned HOST_WIDE_INT loop_iterations PARAMS ((struct loop *));
int precondition_loop_p PROTO((rtx, struct loop_info *, int precondition_loop_p PARAMS ((rtx, struct loop_info *,
rtx *, rtx *, rtx *, rtx *, rtx *, rtx *,
enum machine_mode *mode)); enum machine_mode *mode));
rtx final_biv_value PROTO((struct iv_class *, rtx, rtx, rtx final_biv_value PARAMS ((struct iv_class *, rtx, rtx,
unsigned HOST_WIDE_INT)); unsigned HOST_WIDE_INT));
rtx final_giv_value PROTO((struct induction *, rtx, rtx, rtx final_giv_value PARAMS ((struct induction *, rtx, rtx,
unsigned HOST_WIDE_INT)); unsigned HOST_WIDE_INT));
void emit_unrolled_add PROTO((rtx, rtx, rtx)); void emit_unrolled_add PARAMS ((rtx, rtx, rtx));
int back_branch_in_range_p PROTO((rtx, rtx, rtx)); int back_branch_in_range_p PARAMS ((rtx, rtx, rtx));
int loop_insn_first_p PROTO((rtx, rtx)); int loop_insn_first_p PARAMS ((rtx, rtx));
/* Forward declarations for non-static functions declared in stmt.c. */ /* Forward declarations for non-static functions declared in stmt.c. */
void find_loop_tree_blocks PROTO((void)); void find_loop_tree_blocks PARAMS ((void));
void unroll_block_trees PROTO((void)); void unroll_block_trees PARAMS ((void));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment